Prompt
I'm unhappy with pgvector for large-scale embeddings
Latest observation
Oct 7, 2026
OpenAI APIWeb search: off
Totally fair — pgvector is convenient, but it’s not usually the best choice once you get into large-scale embedding workloads.
Common pain points:
- Index build / rebuild times get painful as vectors grow
- Query latency can become inconsistent at higher scale
- Postgres operational overhead rises because you’re forcing a search workload into an OLTP database
- Memory / vacuum / bloat / replication concerns can show up
- Tuning HNSW / IVFFlat in Postgres is less flexible than dedicated vector systems
If your goal is large-scale vector search, better options are usually:
Managed vector databases
- Pinecone – simplest for production semantic search
- Weaviate – good hybrid search + filtering
- Qdrant – strong OSS + managed option, good filtering
- Milvus – built for scale, common for very large deployments
Search engines with vector support
- OpenSearch / Elasticsearch – useful if you already need keyword + vector hybrid search
- Good when retrieval needs combine structured filters, full-text, and vectors
Specialized infra
- FAISS – great for DIY / offline / custom systems
- Often used when you can manage your own indexing and serving layer
When pgvector is still okay
It’s fine if:
- your corpus is relatively small or medium-sized
- you want simplicity and everything in Postgres
- you need transactional consistency tightly coupled with app data
- you’re still prototyping
A practical rule of thumb
If:
- you’re over hundreds of thousands to millions of vectors,
- need low-latency search,
- and vector search is becoming a core workload,
then moving off pgvector is often the right call.
A good migration pattern
A lot of teams do:
- Keep Postgres as the source of truth
- Replicate embeddings to a dedicated vector store
- Use Postgres for metadata and joins
- Use the vector DB for ANN retrieval
- Optionally rerank in app or search layer
If you want, I can help you choose between Pinecone vs Qdrant vs Milvus vs OpenSearch based on:
- corpus size
- QPS
- filtering needs
- budget
- cloud/on-prem requirements