22.9k stars · PostgreSQL License · v0.8.x, actively released through 2026
Vector search as an ordinary SQL query inside the Postgres he already runs. No new server, no new backup story.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A PostgreSQL extension that adds a vector column type and nearest-neighbour search operators. Embeddings become ordinary columns and similarity search becomes an ordinary ORDER BY in a query you already know how to write.
Why it matters
Every "find where in this conversation we discussed X" feature needs vector search, and the tempting path is to bolt on a dedicated vector database. Don't — that is a second server to run, secure, back up and pay for, on a box already hosting two products. pgvector keeps the vectors beside the rows they belong to, so one pg_dump still captures everything and a single query can filter by user, document and date and rank by similarity. For a solo founder, that operational simplicity is worth far more than the last few percent of benchmark speed.
- No new service. One
CREATE EXTENSIONand your existing backups already cover the vectors - Combines similarity with normal SQL filters — something most vector databases make awkward
- Permissive PostgreSQL licence and the de-facto standard, so Claude Code writes it correctly first time
- Building an HNSW index is memory-hungry. Set
maintenance_work_memproperly or it will fall over on a small VPS - At very large scale a dedicated engine wins — though you are a long way from that problem
- Index parameters and the embedding model must stay in sync, or search quietly degrades with no error to warn you
pgvector keeps the vectors beside the rows they belong to, so one pg_dump still captures everything and a single query can filter by user, document and date and rank by similarity.
Enable the extension in your existing PostgreSQL and add a vector column to the chunk table.
