Quick verdict
Choose pgvector if PostgreSQL is already your system of record and you want vector search with SQL joins, transactions, backups and access control you already have, at no extra licence cost. Choose Pinecone if you want vector search as a managed service that scales without you sizing a database server, with hosted embedding models, namespaces for many tenants and full-text fields in the same index. The two are not the same kind of product: pgvector is an extension inside a database, Pinecone is a database service, so compare total effort and cost, not just features.
pgvector is an open source extension for PostgreSQL 13 and later, under the PostgreSQL License. You enable it with CREATE EXTENSION vector and get a vector column type (plus halfvec, bit and sparsevec), distance operators, exact search by default and approximate search with HNSW or IVFFlat indexes. Vectors are ordinary columns, so they share PostgreSQL transactions, joins, replication, backups and roles. Version 0.8.7 was released on 1 October 2026, and most managed PostgreSQL services ship it, often a few versions behind (the Amazon RDS extension list showed 0.8.2).
Pinecone is a proprietary managed vector database. You create indexes through its API, upsert records with vectors and metadata, and query by similarity; Pinecone runs the infrastructure on AWS, Google Cloud or Azure, and Enterprise customers can use BYOC in their own cloud account. Document indexes, generally available since 2 September 2026, combine dense vectors, sparse vectors and BM25 full-text fields. Pinecone also hosts embedding and reranking models.
Extension versus service. pgvector has no price, API or SLA of its own; those come from the PostgreSQL server or provider you choose (see managed PostgreSQL compared). Pinecone is the whole stack. Many teams start with pgvector because they already run PostgreSQL, and add a dedicated vector service only when scale, tenancy or operations push them to.
Side by side
| Aspect | pgvector | Pinecone |
|---|---|---|
| What it is | Extension inside PostgreSQL 13 and later | Standalone managed vector database service |
| Licence | PostgreSQL License (permissive, open source) | Proprietary, closed source |
| Where it runs | Any self-hosted PostgreSQL or most managed services (RDS, Aurora, Cloud SQL, AlloyDB, Azure, Supabase, Neon) | Pinecone serverless on AWS, Google Cloud, Azure; BYOC for Enterprise |
| Vector index types | HNSW and IVFFlat; exact search without an index | Not user-selectable; dense, sparse and document indexes |
| Vector types | vector, halfvec, bit and sparsevec; indexable up to 2,000 (vector), 4,000 (halfvec) and 64,000 (bit) dimensions | Dense and sparse vectors, plus full-text string fields in document indexes |
| Filtering | Full SQL WHERE, joins, partial indexes, partitioning; iterative index scans since 0.8.0 | Metadata filters ($eq, $in, $gt, $and, $or and others), 40 KB metadata per record |
| Hybrid search | Not built in; combine with PostgreSQL full-text search in SQL and fuse with RRF or a cross-encoder | Built in: dense plus sparse or BM25 full-text fields, optional reranking |
| Embeddings | None built in; your application generates vectors | Pinecone-hosted embedding and reranking models |
| Transactions and joins | Yes, full PostgreSQL ACID transactions and joins with relational tables | No relational joins; vectors and metadata only |
| Scaling and tenancy | Scale the PostgreSQL server; replicas; sharding through Citus or PgDog; partitions or tables per tenant | Serverless scaling; namespaces per tenant; dedicated read nodes on paid plans |
| Cost model | Free extension; you pay for the PostgreSQL server | Free Starter, $20 Builder, usage-based Standard ($50 min) and Enterprise ($500 min) |
| Main trade-off | One system and SQL, but vector scale is bounded by your PostgreSQL deployment | Vector-specific managed service, but a second system to sync and a closed platform |
Key differences
One database or two
With pgvector, embeddings are columns in the same tables as your products, documents or users. An insert of a row and its embedding is one transaction, deletes are consistent, and a query can join vectors to prices, permissions or stock in plain SQL. Backups, replication, roles and monitoring are what you already run for PostgreSQL.
-- PostgreSQL with pgvector: semantic search filtered by relational data
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE documents (
id bigserial PRIMARY KEY,
tenant_id int NOT NULL,
body text NOT NULL,
embedding vector(1536)
);
CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops);
SELECT id, body
FROM documents
WHERE tenant_id = 42
ORDER BY embedding <=> $1
LIMIT 10;With Pinecone, the vectors live in a separate service. Your application or a pipeline must write each record to both your primary database and Pinecone, keep them in step on updates and deletes, and copy any metadata you want to filter on (up to 40 KB per record). In return you get a vector-specific API, serverless scaling and hosted models, and your PostgreSQL server is not loaded by vector queries.
Index control and filtered queries
pgvector gives you the index choice. HNSW builds a graph and needs no training data; IVFFlat divides vectors into lists and should be built after the table has data. Index limits are 2,000 dimensions for vector and 4,000 for halfvec, so very large embeddings need half precision, binary quantization or dimension reduction. The README warns that approximate indexes apply WHERE filters after the index scan, so a selective filter can return fewer rows than requested; iterative index scans (since 0.8.0), partial indexes and partitioning are the documented remedies.
Pinecone does not expose ANN algorithm choices or tuning parameters on serverless indexes. Filters are applied as part of the query against metadata, and namespaces split data by tenant before the search. You trade control for not having to tune.
Hybrid search and embeddings
pgvector does not do hybrid search by itself. The README suggests combining it with PostgreSQL full-text search (tsvector, plainto_tsquery, ts_rank_cd) and merging the two result lists with Reciprocal Rank Fusion or a cross-encoder, which you write in SQL or application code. It also has no embedding generation: your application calls a model and stores the vector.
Pinecone builds both in. A document index can hold dense vectors, sparse vectors and BM25 full-text fields, so one service handles keyword and semantic signals, and Pinecone-hosted embedding and reranking models can be called at upsert and query time.
Scaling and operations
pgvector scales with PostgreSQL. The README lists vertical scaling (memory, CPU, storage), read replicas, and sharding with tools such as Citus or PgDog; HNSW indexes work best when they fit in memory, so large collections mean a larger server. On a managed service, the provider handles patching and backups, but you still choose instance size, and the pgvector version is whatever the provider ships.
Pinecone serverless indexes have no capacity to size. Paid plans add dedicated read nodes for high-throughput indexes, and namespace ceilings reach 100,000 per index on Standard and 1,000,000 on Enterprise. Older pod-based indexes are legacy: new Standard and Enterprise organisations since 18 August 2025 cannot create them.
Pricing and licensing
pgvector is free under the PostgreSQL License. Your cost is the PostgreSQL server that runs it: your own hardware, or a managed service such as Amazon RDS, Aurora, Cloud SQL, AlloyDB, Azure Database for PostgreSQL, Supabase or Neon, each with its own pricing. If you already run PostgreSQL, the marginal cost is the extra memory, storage and CPU for vectors and their indexes.
Pinecone (pinecone.io/pricing, 7 November 2026, $ sign, currency code not stated): Starter free with up to 2 GB storage, 2M write units and 1M read units a month on AWS us-east-1; Builder a flat $20 a month with up to 10 GB storage; Standard a $50 monthly minimum, then read units $16 to $18 per million, write units $4 to $4.50 per million, storage $0.33 per GB per month and egress $0.10 per GB after 100 GB, with a 3-week trial including $300 of credits; Enterprise a $500 monthly minimum with higher unit rates and a 99.95% SLA; BYOC by sales.
Pricing checked on the vendors' official pages on 7 November 2026. Prices change; confirm before buying.
Where each one leads
pgvector strengths
- No second database: vectors sit beside relational data with SQL joins and ACID transactions
- Free, permissive PostgreSQL License, available on the major managed PostgreSQL services
- Choice of HNSW or IVFFlat, exact search, and half-precision, binary and sparse vector types
- Reuses existing PostgreSQL backups, replication, access control and tooling
- Client support in many languages through ordinary PostgreSQL drivers
Pinecone strengths
- Fully managed serverless indexes with nothing to size or tune
- Built-in hybrid search with sparse vectors and BM25 full-text fields
- Hosted embedding and reranking models
- Namespaces scale to very large tenant counts on paid plans
- Vector load does not compete with your transactional PostgreSQL workload
Limitations
pgvector limitations
- Index limits of 2,000 dimensions for vector and 4,000 for halfvec
- Filters on approximate indexes apply after the scan unless iterative scans or partial indexes are used
- No built-in hybrid search or embedding generation
- Scale-out depends on PostgreSQL itself or tools such as Citus; managed services often lag the latest version
Pinecone limitations
- A second system to keep in sync with your primary database
- Closed source with no self-hosted edition outside Enterprise BYOC
- Read-unit billing makes cost depend on query volume
- No relational joins or multi-table transactions with your application data
When to choose each
Choose pgvector if
- Your application data is already in PostgreSQL and you want one source of truth
- Queries need joins or strict consistency between vectors and relational rows
- Your collection fits comfortably on a PostgreSQL server you can size
- You want no new vendor, licence or bill
- You want to choose index type and tune it yourself
Choose Pinecone if
- You want vector search as a managed service without sizing a database server
- You need hybrid search and hosted embeddings without building them in SQL and application code
- You serve very many tenants and want namespaces per tenant
- You do not want vector queries to load your transactional PostgreSQL database
- You are comfortable with a proprietary platform and usage-based billing
When neither is right
- You want a dedicated vector database but need it to be open source and self-hostable: see Pinecone vs Weaviate and Milvus vs Qdrant.
- You want vector search inside a full-text search engine: see Elasticsearch vs OpenSearch vector search.
- You only need embedded search in one application or notebook: see Chroma vs LanceDB.
- You are still choosing a relational database: start with MySQL vs PostgreSQL or MongoDB vs PostgreSQL.
Final recommendation
If PostgreSQL is already your system of record, pgvector is the more direct starting point: it adds vector search without a new system, keeps vectors consistent with your data and costs nothing beyond the server. Pinecone is the more direct fit when vector search is a large, separate workload that you want run for you, with hybrid search, hosted models and tenant namespaces built in, and you accept a proprietary service and a second data store to sync. A practical path is to start with pgvector, watch index memory, filtered recall and server load, and move to a dedicated service only if those limits start to bind.
Frequently asked questions
Is pgvector a vector database?
Not on its own. pgvector is an extension that adds vector types, operators and indexes to PostgreSQL, so PostgreSQL becomes the vector store. Pinecone is a standalone managed vector database service.
Can pgvector replace Pinecone?
For many applications that already use PostgreSQL, yes. It covers storage, exact and approximate similarity search and SQL filtering. You would need to build hybrid search and embedding generation yourself, and scale is bounded by your PostgreSQL deployment.
Does pgvector support hybrid search?
Not as a built-in feature. The pgvector README suggests combining it with PostgreSQL full-text search and merging the results with Reciprocal Rank Fusion or a cross-encoder. Pinecone has hybrid search built in.
Which managed services support pgvector?
Amazon RDS and Aurora PostgreSQL, Google Cloud SQL and AlloyDB, Azure Database for PostgreSQL, Supabase and Neon all document it. Versions differ; on 7 November 2026 the Amazon RDS extension list showed 0.8.2 while 0.8.7 was the latest release. On Azure you first allow-list vector in azure.extensions.
Is Pinecone free?
Pinecone Starter is free with 2 GB storage and monthly read and write unit allowances on AWS us-east-1. Builder is $20 a month, and Standard starts at a $50 monthly minimum plus usage.
Sources
- pgvector on GitHub (README)
- pgvector CHANGELOG
- pgvector LICENSE
- Amazon RDS for PostgreSQL extension versions
- Microsoft Learn: pgvector on Azure Database for PostgreSQL
- Pinecone pricing
- Pinecone indexing overview
- Pinecone 2026 release notes
Checked November 2026.
How we research comparisons: our editorial method.