pgvector
ActiveDescription
Open-source vector similarity search extension for PostgreSQL, enabling native vector storage and ANN retrieval in relational databases, a foundational component for building agent memory and RAG systems.
Key Features
- PostgreSQL native extension — Store and query vectors directly in relational database, no extra infrastructure
- Multiple distance metrics — L2, cosine distance, inner product, L1, Hamming, and Jaccard distance
- Exact and approximate search — HNSW and IVFFlat indexes for ANN approximate nearest neighbor search
- Multiple vector types — Single-precision, half-precision, binary, and sparse vectors
- ACID compliant — PostgreSQL transactions, point-in-time recovery, and JOIN capabilities
- Quantization scaling — Vector quantization for large-scale datasets
Use Cases
Categories
Quick Start
CREATE EXTENSION vector;
CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));
INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]');
SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 5;