Compare

Side-by-side on the decisions that recur: index vs scan, normalize vs denormalize, optimistic vs pessimistic, partition vs shard, and more — with when to choose each.

Postgres + pgvectorDedicated vector DB
Systems to runOneTwo (plus a sync boundary)
FiltersSQL, transactional with the dataEngine-specific; joins done in your code
Scale ceilingTens of millions of vectorsHundreds of millions to billions
ConsistencySame transaction as the rowsEventual with the source of truth
WhenVectors alongside existing relational dataVector search is the core workload at proven scale
Choose this whenThe default for RAG and recommendations — start here; the vectors live next to the rows they describe.When a measured number shows pgvector cannot keep up and vector search is the product.