pgvector vs Pinecone vs Weaviate
If you already run Postgres and your scale is moderate, pgvector is the obvious start — vectors live next to your relational data, no new system to operate. Pinecone is the no-ops managed option: serverless, it scales for production RAG without you tending an index. Weaviate is the open-source middle path — self-host or use their cloud, with built-in hybrid (keyword + vector) search and vectorizer modules. The real axis is how much infrastructure you want to own.
A Postgres extension, a managed SaaS, and an open-source engine — three answers to "where do my embeddings live." pgvector adds vectors to a database you already run; Pinecone removes all ops; Weaviate gives you an OSS engine with hybrid search you can host yourself or buy managed.
Pick each when…
You already run Postgres, want vectors alongside relational data and transactions, and your scale is moderate.
You want production RAG at scale with zero infrastructure to manage and are fine with a managed SaaS.
You want open source, the option to self-host, and strong built-in hybrid (keyword + vector) search.
Side by side
| pgvector | Pinecone | Weaviate | |
|---|---|---|---|
| What it is | An extension to Postgres. | A managed, serverless vector DB. | A standalone OSS vector DB (self-host or cloud). |
| Operations | You run Postgres (or a managed Postgres). | Zero ops — fully managed. | Self-host (you operate it) or use Weaviate Cloud. |
| Index / ANN | HNSW and IVFFlat indexes. | Managed ANN (serverless, abstracted). | HNSW with configurable parameters. |
| Relational data | Native: vectors join your existing tables and transactions. | Metadata filtering only; not a relational store. | Object properties + cross-references; not relational. |
| Hybrid search | Combine with Postgres full-text search yourself. | Sparse-dense hybrid supported. | Built-in hybrid (BM25 + vector). |
| Scale | Single-node Postgres limits (or Citus/replicas). | Scales transparently to very large indexes. | Scales via sharding/replication you configure. |
| Openness / lock-in | Open extension; data stays in your Postgres. | Proprietary SaaS. | Open source; portable. |
Also worth a look
- Qdrant — You want a fast OSS vector DB in Rust
- Milvus — You need a large-scale OSS vector database
- Elasticsearch / OpenSearch — You already run it and want vector + keyword in one