freshcrate
Skin:/
Home > Databases > VectorChord

VectorChord

Scalable, fast, and disk-friendly vector search in Postgres, the successor of pgvecto.rs.

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

Scalable, fast, and disk-friendly vector search in Postgres, the successor of pgvecto.rs.

README

VectorChord

Ready for the Billion-Scale Era. Host 100M vectors on a single i4i.xlarge ($247/mo) and scale seamlessly to 1B+.

Official Site · Blog · Docs · Feedback · Contact Us

VectorChord (vchord) is a PostgreSQL extension engineered for scalable, high-performance, and cost-effective vector search.

To efficiently store vectors while preserving search quality, VectorChord applies RaBitQ1 compression together with autonomous reranking. With VectorChord, you can store 400,000 vectors for just $1, enabling significant savings: 6x more vectors compared to Pinecone's optimized storage and 26x more than pgvector/pgvecto.rs for the same price.

Features

VectorChord introduces remarkable enhancements over pgvecto.rs and pgvector:

💰 Affordable Vector Search: Host 100M × 768-dimensional vectors → AWS i4i.xlarge ($247/month)2, host 1B × 96-dimensional vectors → i7ie.6xlarge ($2246/month)3, helping you keep infrastructure costs down while maintaining competitive search quality.

⚡ Accelerated Index Build: Index 100 million vectors in just 20 minutes. Powered by hierarchical K-means and highly optimized disk operations, VectorChord eliminates the bottleneck of vector indexing on a single machine with limited hardware resources.

📈 Smoothly Scale Up: Scale with confidence as your data grows. Through dimensionality reduction and sampling4, VectorChord effectively controls memory growth, enabling 1B-vector indexes to be built on machines with 128GB of memory in practice.

🔌 Seamless Integration: Fully compatible with pgvector data types and syntax while providing optimal defaults out of the box - no complex parameter tuning needed. Just drop in VectorChord for enhanced experience.

💾 Efficient Storage with Low-Bit Data type: Drastically reduce storage costs with our native 4-bit (RaBitQ4) and 8-bit (RaBitQ8) vector types. Achieve massive space savings without compromising search quality—RaBitQ8 maintains high precision with <1% recall loss.

Quick Start

For new users, we recommend using the Docker image to get started quickly. If you do not prefer Docker, please read installation guide for other installation methods.

docker run \
  --name vectorchord-demo \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -p 5432:5432 \
  -d ghcr.io/tensorchord/vchord-postgres:pg18-v1.1.1

Note

In addition to the base image with the VectorChord extension, we provide an all-in-one image, tensorchord/vchord-suite:pg17-latest. This comprehensive image includes all official TensorChord extensions, including VectorChord, VectorChord-bm25 and pg_tokenizer.rs . Developers should select an image tag that is compatible with their extension's version, as indicated in the support matrix.

Then you can connect to the database using the psql command line tool. The default username is postgres, and the default password is mysecretpassword.

psql -h localhost -p 5432 -U postgres

Now you can play with VectorChord!

VectorChord depends on pgvector, including the vector representation. Since you can use them directly, your application can be easily migrated without pain!

CREATE EXTENSION IF NOT EXISTS vchord CASCADE;

Similar to pgvector, you can create a table with vector column and insert some rows to it.

CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));
INSERT INTO items (embedding) SELECT ARRAY[random(), random(), random()]::real[] FROM generate_series(1, 1000);

With VectorChord, you can create vchordrq indexes.

CREATE INDEX ON items USING vchordrq (embedding vector_l2_ops);

And then perform a vector search using SELECT ... ORDER BY ... LIMIT ....

SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 5;

For more usage, please read:

License

This software is licensed under a dual license model:

  1. GNU Affero General Public License v3 (AGPLv3): You may use, modify, and distribute this software under the terms of the AGPLv3.

  2. Elastic License v2 (ELv2): You may also use, modify, and distribute this software under the Elastic License v2, which has specific restrictions.

You may choose either license based on your needs. We welcome any commercial collaboration or support, so please email us vectorchord-inquiry@tensorchord.ai with any questions or requests regarding the licenses.

Footnotes

  1. Gao, Jianyang, and Cheng Long. "RaBitQ: Quantizing High-Dimensional Vectors with a Theoretical Error Bound for Approximate Nearest Neighbor Search." Proceedings of the ACM on Management of Data 2.3 (2024): 1-27.

  2. Please check out our blog post for more details.

  3. Please check out our blog post for more details.

  4. Please check out our blog post for more technique details and document for usages.

Release History

VersionChangesUrgencyDate
1.1.1**VectorChord 1.1.1 Release Notes** ## Features Added 4 new functions: * `dequantize_to_vector(rabitq8)` * `dequantize_to_halfvec(rabitq8)` * `dequantize_to_vector(rabitq4)` * `dequantize_to_halfvec(rabitq4)` These functions convert quantized vectors back into floating-point vectors. See [Quantization Types](https://docs.vectorchord.ai/vectorchord/usage/quantization-types.html) for docs. ## What's Changed Replaced the quantization algorithm used by: * `quantize_to_rabiLow2/28/2026
1.1.0**VectorChord 1.1.0 Release Notes** ## Features VectorChord now provides `rabitq8` and `rabitq4` types. They are RaBitQ-quantized vectors, internally stored as `uint8[]` or `uint4[]` instead of `float32[]` or `float16[]`, costing less storage. Like other vector types, you can create indexes for them. ```sql CREATE TABLE items (id bigserial PRIMARY KEY, embedding rabitq8(3)); CREATE INDEX ON items USING vchordrq (embedding rabitq8_l2_ops); INSERT INTO items (embedding) VALUES (quantizLow2/11/2026
1.0.0# VectorChord 1.0 Release Notes VectorChord 1.0 is here. This release delivers much faster PostgreSQL index builds with IVF + RaBitQ, quicker updates, broader architecture support, and a stack of new features since our first release. It’s a major milestone—production-ready and thoroughly tested. ## Highlights We have dramatically optimized index build speed, now capable of building a 100M-vector dataset in 20 minutes on a 16-vCPU machine while sharply cutting memory usage, making index Low11/12/2025
0.5.3**VectorChord 0.5.3 Release Notes** * Fix `build.pin` if parallel build is not enabled. https://github.com/tensorchord/VectorChord/pull/346 * Run tests on x86_64 MacOS. https://github.com/tensorchord/VectorChord/pull/348 * Build prebuilt packages for PostgreSQL 18. https://github.com/tensorchord/VectorChord/pull/349 Low9/26/2025
0.5.2**VectorChord 0.5.2 Release Notes** * Add built-in query simpling, for recall evaluation with online queries, see also [Query sampling](https://docs.vectorchord.ai/vectorchord/usage/measure-recall.html#query-sampling). (https://github.com/tensorchord/VectorChord/pull/321, https://github.com/tensorchord/VectorChord/pull/334, https://github.com/tensorchord/VectorChord/pull/337, https://github.com/tensorchord/VectorChord/pull/338) * Fix MVCC violation if either `build.rerank_in_table` or `vchorLow9/15/2025
0.5.1**VectorChord 0.5.1 Release Notes** * A little performance improvement. (#314) * Fix compilation on x86_64 nix with `gcc.arch` set. (#316) * Fix compilation and tests, and add initial simd support, on s390x and powerpc64le, see also [s390x](https://docs.vectorchord.ai/vectorchord/getting-started/installation.html#s390x). (#318, #323, #324, #326, #325, #327, #328, #329, #330) **Full Changelog**: https://github.com/tensorchord/VectorChord/compare/0.5.0...0.5.1 Low9/2/2025
0.5.0# VectorChord v0.5.0 Two big upgrades, focused and pragmatic. ## 1) Experimental DiskANN (with RaBitQ) — `vchordg` *(preview)* A new **disk-backed graph index** that keeps memory low while giving you a DiskANN-style option inside VectorChord. - **When it shines:** can be **faster** than IVF+RaBitQ (`vchordrq`) on some embeddings (e.g., OpenAI/Cohere) — **but not always**. - **Caveats:** **slow build**, and **insert/delete are weaker** than IVF. Dataset-dependent: benchmark before switLow8/15/2025
0.4.3**VectorChord 0.4.3 Release Notes** * use mimalloc on aarch64-linux * fix compilation with gcc on x86_64 * fix compilation with clang on Windows * prompt the user to rebuild the index after the upgrade **Full Changelog**: https://github.com/tensorchord/VectorChord/compare/0.4.2...0.4.3Low6/20/2025
0.4.2**VectorChord 0.4.2 Release Notes** * fix compilation on aarch64 macos * add support for `pgxnclient`: you can install VectorChord with `pgxnclient install vchord==0.4.2` now **Full Changelog**: https://github.com/tensorchord/VectorChord/compare/0.4.1...0.4.2Low5/29/2025
0.4.1**VectorChord 0.4.1 Release Notes** * Fix potential precision issue if the dimension of vectors is `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, `1024`, `2048`, `4096`, `8192`, `16384`, `32768`. **Full Changelog**: https://github.com/tensorchord/VectorChord/compare/0.4.0...0.4.1Low5/24/2025
0.4.0**VectorChord 0.4 Release Notes** --- ### Major Improvements * **Streaming I/O & Page Prefetch** * Complete rewrite of page layout to enable pipelined computation with streaming I/O. * On PostgreSQL 17, uses `fadvise` to prefetch buffers into the OS page cache, eliminating per-buffer read waits and fully leveraging disk throughput. * In upcoming PostgreSQL 18, direct support for io\_uring will further streamline asynchronous I/O. * **Benchmarks:** 2–3× lower latency on colLow5/23/2025
0.3.0## Features Native support for the maxsim operator and efficient indexing inspired by XTR-WARP project. This makes it possible to build ColBERT- or ColPaLI-style multi-vector retrieval applications seamlessly within PostgreSQL. ## Improvements - More KMeans parameters can be configured - Better progress report for internal KMeans build ## What's Changed * feat: check quals to skip rerank if `rerank_in_table` is enabled by @usamoi in https://github.com/tensorchord/VectorChord/pull/206Low4/11/2025
0.2.2## What's Changed * Support linux/arm64 for vchord-cnpg docker image by @xieydd in https://github.com/tensorchord/VectorChord/pull/184 * refactor: split quantized data vectors to two tapes by @usamoi in https://github.com/tensorchord/VectorChord/pull/196 * chore: add ghcr image by @cutecutecat in https://github.com/tensorchord/VectorChord/pull/200 * chore: update readme and scripts with url by @cutecutecat in https://github.com/tensorchord/VectorChord/pull/198 * fix: lint by ruff by @cutecuLow3/18/2025
0.2.1## Major Improvement We optimize the external centroid index building speed, about 30%. Now it takes about 30h to build index for 100M vectors with only 4 vcpu on i4i.xlarge. ## What's Changed * refactor: move algorithm to a crate by @usamoi in https://github.com/tensorchord/VectorChord/pull/172 * feat: pinning index in memory when building, second try by @usamoi in https://github.com/tensorchord/VectorChord/pull/181 * fix: use linked list of vectors to skip realloc by @usamoi in https://Low2/19/2025
0.2.0# VectorChord 0.2 Release Notes We are thrilled to announce the release of **VectorChord 0.2**, advancing vector search capabilities within PostgreSQL. ## 🚀 New Features ### Optimized Storage Layout - **Long Cross-Page Vector Support:** Redesigned internal storage allows vectors to span multiple 8KB PostgreSQL pages, enabling support for vectors with over 2000 dimensions, up to 16000 dim. - **Enhanced Storage Efficiency:** Achieves higher storage density by minimizing wasted space, rLow1/27/2025
0.1.1-alpha.1## Highlights - Support fp16 vec - Support vector longer than 2000 dim ## What's Changed * fix: Unlock the conversation in CLA bot by @gaocegege in https://github.com/tensorchord/VectorChord/pull/86 * fix: CI env SEMVER by @kemingy in https://github.com/tensorchord/VectorChord/pull/87 * fix: format by @cutecutecat in https://github.com/tensorchord/VectorChord/pull/90 * feat: max_scan_tuples by @usamoi in https://github.com/tensorchord/VectorChord/pull/94 * test: fix push down tests by Low12/18/2024
0.1.0Release 0.1.0Low11/14/2024

Dependencies & License Audit

Loading dependencies...

Similar Packages

topkTopK is a search engine for the AI era.cli-v0.11.0
vectorizerA high-performance, in-memory vector database written in Rust, designed for semantic search and top-k nearest neighbor queries in AI-driven applications, with binary file persistence for durability.vectorizer-3.3.0
contextdbEmbedded database for agentic memory — relational, graph, and vector under unified MVCC transactionsv1.0.0
oramacoreOramaCore is the complete runtime you need for your projects, answer engines, copilots, and search. It includes a fully-fledged full-text search engine, vector database, LLM interface, and many more uv1.2.38
seismicOfficial repository of the Seismic library.v0.4.0

More in Databases

WeKnoraLLM-powered framework for deep document understanding, semantic retrieval, and context-aware answers using RAG paradigm.
ai-real-estate-assistantAdvanced AI Real Estate Assistant using RAG, LLMs, and Python. Features market analysis, property valuation, and intelligent search.
alibabacloud-adb20211201Alibaba Cloud adb (20211201) SDK Library for Python
milvusMilvus is a high-performance, cloud-native vector database built for scalable vector ANN search