
The Case Against pgvector | Alex Jacobs
What happens when you try to run pgvector in production and discover all the things the blog posts conveniently forgot to mention
Database engineers and ML infrastructure teams deploying large-scale vector search on PostgreSQL
VectorChord indexes 100 million 768-dimensional vectors in 20 minutes using 12 GB memory on a 16 vCPU machine, compared to pgvector's 40 hours and 200 GB.
Optimizations target three phases: hierarchical K-means plus dimensionality reduction cut initialization from 30 to 8 minutes and memory from 135 GB to 23 GB; reduced contention speeds insertion from 420 to 9 minutes; parallelized compaction drops from 8 to 1 minute. These enable indexing on cheaper instances like Amazon i7i.4xlarge without GPUs.