Choose pgvector
when your corpus fits comfortably in the Postgres you already run, and you would rather add an extension than a vendor. Below roughly a million vectors with light filtering, it is the pragmatic answer and we will say so.
Including the cases where you should pick something else. A comparison that never loses is a comparison nobody believes.
Checked against public documentation. Tell us if a row has gone stale and we will correct it.
| Capability | Vela Managed, purpose-built | Pinecone Managed, purpose-built | Weaviate Managed or self-hosted | pgvector Postgres extension |
|---|---|---|---|---|
| Index | ||||
| HNSW index | Yes | Yes | Yes | Yes |
| Filtered search without recall loss | Yes | Yes | Yes | Degrades |
| Live reindex, no downtime | Yes | Yes | Partial | Manual |
| Billion-vector scale | Yes | Yes | Yes | Hard |
| Operations | ||||
| Fully managed | Yes | Yes | Optional | No |
| Runs on your own infrastructure | No | No | Yes | Yes |
| Per-region data residency | Yes | Yes | Yes | Yours |
| p99 latency published | Yes | Partial | No | No |
| Cost and lock-in | ||||
| Free tier | Yes | Yes | Yes | Yes |
| Usage-based pricing | Yes | Yes | Yes | Yours |
| Export your vectors | Yes | Yes | Yes | Yes |
| Uses an existing database | No | No | No | Yes |
when your corpus fits comfortably in the Postgres you already run, and you would rather add an extension than a vendor. Below roughly a million vectors with light filtering, it is the pragmatic answer and we will say so.
when running the engine inside your own perimeter is a hard requirement — regulated environment, air-gapped network, or an infrastructure team that wants the operational control.
when the index has become its own operational problem: the tail latency drifts, filtered queries lose recall, reindexing needs a maintenance window, and nobody on the team wants to own an HNSW graph.
Vector count, dimension, filter shape and latency budget. We will tell you whether we are the right fit — including when we are not.