pgvector

Active
GitHub C NOASSERTION

Description

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

💡 Build persistent memory storage systems for AI agents
💡 Implement vector similarity retrieval in RAG pipelines
💡 Add semantic search capabilities to existing PostgreSQL databases
💡 Build embedding storage and retrieval systems for multimodal content

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;

Related Projects