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

Dimensionpgvector 0.8Pinecone
HostingExtension on any Postgres (self-hosted or managed)Managed service; BYOC (bring your own cloud) through sales
Vector typesvector, halfvec, bit, sparsevecDense and sparse vectors
IndexesHNSW and IVFFlat; vector indexable to 2,000 dimensions, halfvec to 4,000Managed; not tuned by you
FilteringSQL WHERE and joins; iterative index scans (0.8+) keep filtered queries returning enough rowsMetadata filters and namespaces
ConsistencyTransactional with the rest of your dataSeparate store to keep in sync
PricingYour Postgres costUsage-based: about $0.33 per GB per month storage on Standard, read and write units billed per million
OperationsYou own tuning, vacuum, index builds, backupsNone 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_search to trade latency for recall.
  • Enable iterative scans (pgvector 0.8) when filters would otherwise leave too few results.
  • Use halfvec to 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.