pgvector
#1 in vector databases · the correct default for most teams, and it quietly got good
verdictfree, permissive, runs on every managed postgres, and the only option here that can update an embedding and its parent row in one transaction.
| Elasticsearch | pgvector | |
|---|---|---|
| price | serverless from $0.09 per search VCU-hour; storage $0.047/GB/month | free — PostgreSQL License |
| free tier | yes | yes |
| license | AGPLv3 / SSPLv1 / Elastic 2.0 triple | PostgreSQL License — permissive |
| deployment | self-host, cloud, serverless | extension on any postgres |
| index types | lucene hnsw, int8/int4, bbq | hnsw, ivfflat, binary quantization |
| hybrid search | best in class — bm25 + rrf | via postgres full-text; you write the fusion |
| pricing model | vcu-hours + storage per gb | free — you pay for postgres |
switch foralmost everyone — start here and migrate on a measured threshold, not a vendor's table
- +free and permissively licensed, on every managed postgres
- +transactional consistency between embeddings and business rows
- +0.8.0 iterative index scans fixed the filtered-recall flaw
- +half-precision and binary quantization cut footprint dramatically
- −index builds are slow and lock-heavy at large scale
- −no native distributed sharding
- −you own all the tuning yourself