pgvecto.rs is a Postgres extension that provides vector similarity search functions. It is written in Rust and based on pgrx. It is currently in the beta status, we invite you to try it out in production and provide us with feedback. Read more at 📝our launch blog.
- 💃 Easy to use: pgvecto.rs is a Postgres extension, which means that you can use it directly within your existing database. This makes it easy to integrate into your existing workflows and applications.
- 🔗 Async indexing: pgvecto.rs's index is asynchronously constructed by the background threads and does not block insertions and always ready for new queries.
- 🥅 Filtering: pgvecto.rs supports filtering. You can set conditions when searching or retrieving points. This is the missing feature of other postgres extensions.
- 🧮 Quantization: pgvecto.rs supports scalar quantization and product qutization up to 64x.
- 🦀 Rewrite in Rust: Rust's strict compile-time checks ensure memory safety, reducing the risk of bugs and security issues commonly associated with C extensions.
pgvecto.rs | pgvector | |
---|---|---|
Transaction support | ✅ | |
Sufficient Result with Delete/Update/Filter | ✅ | |
Vector Dimension Limit | 65535 | 2000 |
Prefilter on HNSW | ✅ | ❌ |
Parallel HNSW Index build | ⚡️ Linearly faster with more cores | 🐌 Only single core used |
Async Index build | Ready for queries anytime and do not block insertions. | ❌ |
Quantization | Scalar/Product Quantization | ❌ |
More details at ./docs/comparison-pgvector.md
- Installation
- Get Started
- Indexing
- Searching
- Comparison with pgvector
- Why not a specialty vector database?
For users, we recommend you to try pgvecto.rs using our pre-built docker image, by running
docker run \
--name pgvecto-rs-demo \
-e POSTGRES_PASSWORD=mysecretpassword \
-p 5432:5432 \
-d tensorchord/pgvecto-rs:pg16-latest
For developers, you could use envd to set up the development environment with one command. It will create a docker container and install all the dependencies for you.
pip install envd
envd up
We need your help! Please check out the issues.
Thanks goes to these wonderful people (emoji key):
Alex Chi 💻 |
AuruTus 💻 |
Avery 💻 🤔 |
Ben Ye 📖 |
Ce Gao 💼 🖋 📖 |
Jinjing Zhou 🎨 🤔 📆 |
Keming 🐛 💻 📖 🤔 🚇 |
Mingzhuo Yin 💻 |
Usamoi 💻 🤔 |
odysa 📖 💻 |
yihong 💻 |
盐粒 Yanli 💻 |
||
Add your contributions |
This project follows the all-contributors specification. Contributions of any kind welcome!
Thanks to the following projects: