# Pinecone vs pgvector

> Use pgvector when your vectors can live in a Postgres database you already run, which keeps embeddings next to your business data, supports SQL filters and joins, and adds no new vendor. Use Pinecone when you need a fully managed vector service that scales to very large collections or many tenants without tuning indexes, and you are comfortable with usage-based billing. For most small and mid-sized RAG projects, pgvector is enough.

|  | Pinecone | pgvector |
| --- | --- | --- |
| What it is | Managed vector database service | Open-source extension that adds vector types and indexes to PostgreSQL |
| Billing model | Usage-based on read units, write units and storage, with a free Starter tier and monthly minimums on higher plans | Free extension; you pay for the Postgres instance it runs on |
| Where it runs | Pinecone's cloud, dedicated read nodes, or bring-your-own-cloud in your account | Any Postgres host that supports it, including Supabase, Neon, Amazon RDS, Google Cloud SQL and Azure |
| Index management | Handled by Pinecone; no index parameters to tune for most use cases | You choose HNSW or IVFFlat and tune build and search settings |
| Scale | Designed for very large collections and high query volume | Comfortable for most SMB workloads; very large sets need careful sizing and tuning |
| Filtering and joins | Metadata filters and namespaces per index | Full SQL, including joins, row-level security and transactions |
| Keyword and hybrid search | Dense, sparse and full-text indexes | Combine with Postgres full-text search in the same query |
| Embedding dimensions | Supports common embedding sizes without extra steps | Indexes support up to 2,000 dimensions for vector and 4,000 for halfvec |
| Extra services | Hosted embedding and reranking models, plus an Assistant product | None built in; you call embedding models yourself |
| Compliance | SOC 2 on all plans; HIPAA as an add-on or included on higher tiers | Inherits your Postgres host's certifications and BAAs |

## Choose Pinecone if

- You expect tens of millions of vectors or heavy query load
- You serve many tenants and want namespace isolation without managing it
- Nobody on the team wants to tune and size vector indexes
- You want hosted embedding and reranking alongside the index

## Choose pgvector if

- You already use Postgres or Supabase for your application data
- Queries need to filter or join on business data and permissions
- The collection is in the thousands to low millions of chunks
- You want one database to back up, secure and audit
- You prefer to avoid another vendor and another bill

## The short version

Pinecone is a managed service built only for vector search. pgvector turns PostgreSQL into a vector store, so embeddings live in the same database as your customers, documents and permissions.

For most RAG assistants and AI features at small and mid-sized companies, pgvector is the simpler choice: one database, SQL filters, no new vendor. Pinecone earns its place when collections get very large, query volume is high, or you would rather pay for a service than tune indexes.

## Where Pinecone wins

**Hands-off scale.** Pinecone's serverless indexes grow without you choosing instance sizes or tuning index parameters. For collections in the tens of millions of vectors or high sustained query rates, that saves real engineering time.

**Multi-tenant isolation.** Namespaces partition an index cleanly per customer or workspace, which suits SaaS products that keep each client's documents separate.

**Retrieval extras.** Hosted embedding and reranking models, plus sparse and full-text indexes, cover more of the retrieval pipeline in one service.

**Deployment options.** Dedicated read nodes reserve capacity for demanding indexes, and bring-your-own-cloud runs Pinecone inside your own cloud account for stricter data requirements.

## Where pgvector wins

**Your data is already in Postgres.** Storing embeddings beside the rows they describe means one query can find similar chunks, filter by customer, check a permissions table and return related records. With a separate vector store, you keep two systems in sync. See [connecting an LLM to internal data safely](/guides/connect-llm-to-internal-data/) for why permissions matter.

**Nothing new to buy or secure.** pgvector is a free extension supported by most managed Postgres providers, including [Supabase](/tools/supabase/). Backups, access control, encryption and BAAs follow your existing database.

**Hybrid search in SQL.** Postgres full-text search and pgvector work in the same query, so combining keyword and semantic ranking does not need another service.

**Transactions.** Updating a document and its embeddings can happen atomically, which avoids stale search results after edits.

The tradeoff is ownership. You choose between HNSW and IVFFlat indexes, size memory so the index fits, and watch query plans as data grows.

## What we recommend

Start with pgvector unless you already know you will have very large collections or many tenants with heavy query load. Most [RAG knowledge assistants](/guides/build-rag-knowledge-assistant/) we see fit comfortably in a well-sized Postgres instance, and keeping one database removes a whole class of sync and permission bugs.

Keep your retrieval code behind a small interface. If you outgrow pgvector, moving to Pinecone is then a contained change rather than a rewrite. For budgets, see the [RAG knowledge assistant cost page](/cost/cost-of-rag-knowledge-assistant/); Lumeor builds typically run $12,000–$45,000.

## Frequently asked questions

### Is pgvector fast enough for production RAG?

For most business knowledge bases, yes. With an HNSW index on a properly sized Postgres instance, searches over hundreds of thousands to a few million chunks are typically fast enough that the LLM call, not the vector search, dominates response time.

### Can pgvector handle filtered searches well?

Better than it used to. Version 0.8.0 added iterative index scans, which keep scanning when filters remove too many candidates, so filtered queries return the expected number of results. Heavy filtering on large tables still benefits from testing and tuning.

### What if my embedding model has more than 2,000 dimensions?

pgvector stores larger vectors but only indexes up to 2,000 dimensions for the standard vector type. Store them as halfvec, which indexes up to 4,000 dimensions, or request shorter embeddings if your provider supports it. Test retrieval quality after either change.

### How is Pinecone billed?

Pinecone's on-demand service bills by read units, write units and storage, with a free Starter tier and monthly minimum spend on its Standard and Enterprise plans. Embedding, reranking and Assistant are metered separately. Check Pinecone's pricing page for current terms.

### Can we start on pgvector and move to Pinecone later?

Yes. Embeddings and metadata export cleanly, so moving is mostly re-uploading vectors and changing the retrieval code. Keep the retrieval layer behind one function in your application and the switch stays small.

---

Source: https://www.lumeor.studio/compare/pinecone-vs-pgvector/
Published by Lumeor Studio, Newtown, PA. hello@lumeor.studio. Get a written scope: https://www.lumeor.studio/start/
