
Scalable Vector Search in Postgres
Scalable Vector Search in Postgres
VectorChord (vchord) is a PostgreSQL extension designed for scalable, high-performance, and disk-efficient vector similarity search, and serves as the successor to pgvecto.rs.
-- create table with a vector column
CREATE TABLE items (
id bigserial PRIMARY KEY,
embedding vector(3) NOT NULL -- 3 dimensions
);
-- insert values
INSERT INTO items (embedding)
VALUES ('[1,2,3]'), ('[4,5,6]');
-- create index
CREATE INDEX ON items USING vectors (embedding vector_l2_ops);
-- query the similar embeddings
SELECT * FROM items ORDER BY embedding <-> '[3,2,1]' LIMIT 5
Product Features
Revolutionize Vector Search, not Database.
Revolutionize Vector Search, not Database.
Better Filtering
Apply any filter conditions and join with other tables, achieving high recall and low latency, a distinctive edge over other vector databases.
Better Filtering
Apply any filter conditions and join with other tables, achieving high recall and low latency, a distinctive edge over other vector databases.
Better Filtering
Apply any filter conditions and join with other tables, achieving high recall and low latency, a distinctive edge over other vector databases.
External Index Build
Offloads indexing to a powerful machine, enabling faster processing and efficient handling of large-scale datasets on a single system.
External Index Build
Offloads indexing to a powerful machine, enabling faster processing and efficient handling of large-scale datasets on a single system.
External Index Build
Offloads indexing to a powerful machine, enabling faster processing and efficient handling of large-scale datasets on a single system.
PGVector-Compatible
A fully compatible solution designed to seamlessly replace PGVector, offering enhanced performance, scalability, and advanced vector search capabilities.
PGVector-Compatible
A fully compatible solution designed to seamlessly replace PGVector, offering enhanced performance, scalability, and advanced vector search capabilities.
PGVector-Compatible
A fully compatible solution designed to seamlessly replace PGVector, offering enhanced performance, scalability, and advanced vector search capabilities.
Hybrid Search
Leverage the full-text search functionality in PostgreSQL with vectorchord to search text and vector data within a single query.
Hybrid Search
Leverage the full-text search functionality in PostgreSQL with vectorchord to search text and vector data within a single query.
Hybrid Search
Leverage the full-text search functionality in PostgreSQL with vectorchord to search text and vector data within a single query.
Faster, and Faster
4x faster than other postgres-based solutions.
Faster, and Faster
4x faster than other postgres-based solutions.
Faster, and Faster
4x faster than other postgres-based solutions.
Complete SQL Support
Full SQL support, enabling joins and filters without limitations or extra configuration.
Complete SQL Support
Full SQL support, enabling joins and filters without limitations or extra configuration.
Complete SQL Support
Full SQL support, enabling joins and filters without limitations or extra configuration.
VectorChord is 16x faster than pgvector for indexing and 14x faster for inserts. It efficiently handles billions of vectors on a single machine by offloading resource-intensive indexing to a powerful machine and querying on a smaller one.



USER TESTIMONIALS
Showcase with PGVecto.rs
Trusted by Many Open Source Projects
Showcase with PGVecto.rs
Trusted by Many Open Source Projects
• Immich.app Developer from GitHub
pgvector has limited support for filtering; you generally have to query for the nearest rows and apply filters on that result set. This means its recall can be abysmal, and it makes it very difficult to improve search in the ways we want. pgvecto.rs doesn't have these limitations and can indeed provide as many results as requested for a set of filters. This allows for much more powerful search in a seamless way, including the ability to have infinite scroll.
mag e/acc
• From Twitter
I was using @modal_labs for getting embeddings, and @qdrant_engine
for vectors, then realised I need lots of filtering and switched to pgvecto.rs
• Immich.app Developer from GitHub
pgvector has limited support for filtering; you generally have to query for the nearest rows and apply filters on that result set. This means its recall can be abysmal, and it makes it very difficult to improve search in the ways we want. pgvecto.rs doesn't have these limitations and can indeed provide as many results as requested for a set of filters. This allows for much more powerful search in a seamless way, including the ability to have infinite scroll.
mag e/acc
• From Twitter
I was using @modal_labs for getting embeddings, and @qdrant_engine
for vectors, then realised I need lots of filtering and switched to pgvecto.rs
• Immich.app Developer from GitHub
pgvector has limited support for filtering; you generally have to query for the nearest rows and apply filters on that result set. This means its recall can be abysmal, and it makes it very difficult to improve search in the ways we want. pgvecto.rs doesn't have these limitations and can indeed provide as many results as requested for a set of filters. This allows for much more powerful search in a seamless way, including the ability to have infinite scroll.
mag e/acc
• From Twitter
I was using @modal_labs for getting embeddings, and @qdrant_engine
for vectors, then realised I need lots of filtering and switched to pgvecto.rs