Overview
Pick pgvector when your application data is already in Postgres and queries combine filters, joins, and similarity search; pick Pinecone when vector search is a standalone workload and nobody wants to run a database. As of 2026-10-01 pgvector is at 0.8.6 (Postgres 13 and later). Pinecone offers Starter (free), Builder (50 per month minimum), and Enterprise ($500 per month minimum) plans. Chunking, embedding model choice, and reranking move result quality more than the store does.
Comparison
| Dimension | pgvector 0.8 | Pinecone |
|---|---|---|
| Hosting | Extension on any Postgres (self-hosted or managed) | Managed service; BYOC (bring your own cloud) through sales |
| Vector types | vector, halfvec, bit, sparsevec | Dense and sparse vectors |
| Indexes | HNSW and IVFFlat; vector indexable to 2,000 dimensions, halfvec to 4,000 | Managed; not tuned by you |
| Filtering | SQL WHERE and joins; iterative index scans (0.8+) keep filtered queries returning enough rows | Metadata filters and namespaces |
| Consistency | Transactional with the rest of your data | Separate store to keep in sync |
| Pricing | Your Postgres cost | Usage-based: about $0.33 per GB per month storage on Standard, read and write units billed per million |
| Operations | You own tuning, vacuum, index builds, backups | None for the index |
Pick pgvector when
Pick pgvector for most applications that already use Postgres.
- Filter by tenant, status, or date and rank by distance in one SQL query; keep embeddings in the same transaction as the source row.
- Create an HNSW index (better recall and speed than IVFFlat, slower to build), then raise
hnsw.ef_searchto trade latency for recall. - Enable iterative scans (pgvector 0.8) when filters would otherwise leave too few results.
- Use
halfvecto cut storage when full precision is unnecessary. - One backup, replication, and security model; residency or on-premises requirements are met by self-hosting Postgres. See postgres.
Pick Pinecone when
Pick Pinecone for vector-first systems or teams without database capacity.
- A pure retrieval service where vectors are the whole workload, with no relational joins.
- Many tenants as namespaces, with usage-based billing and no instance sizing.
- Dedicated read nodes and a managed SLA on the higher plans.
- Index memory or build time on Postgres has become an operations problem you do not want.
Do not choose a vector database just because it is called one. Compare recall and latency on your own corpus, and benchmark cost at your expected read and write volume.
Migrate
Embeddings are portable; the query layer is the work. Export vectors and metadata in batches, re-create them in the target, and rebuild indexes (CREATE INDEX CONCURRENTLY on Postgres). Keep the embedding model constant, translate metadata filters to WHERE clauses or the reverse, and compare recall on a labeled query set before cutover. See rag-vector-databases and embeddings.
FAQ
Can I use pgvector instead of Pinecone in production?
Yes, when your application data is already in Postgres and queries combine filters, joins, and similarity search. You own tuning, vacuum, index builds, and backups in exchange for one transactional store.
How much does Pinecone cost?
Pinecone offers Starter (free), Builder (50 per month minimum), and Enterprise (0.33 per GB per month, with read and write units billed per million.
Should I use HNSW or IVFFlat in pgvector?
Use HNSW, which gives better recall and speed than IVFFlat but builds more slowly. Raise hnsw.ef_search to trade latency for recall.
How many dimensions can pgvector index?
The vector type is indexable up to 2,000 dimensions and halfvec up to 4,000. Use halfvec to cut storage when full precision is unnecessary.