If you already run Postgres and your corpus is in the low millions of vectors, pgvector is usually the right first choice — one less system to operate, and your filters, joins, and transactions stay in one place. You reach for a dedicated vector database like Pinecone or Qdrant when recall at high query volume, horizontal scale, or operational hand-off starts to hurt inside Postgres. The wrong reason to switch is "everyone else uses a vector DB."
I've shipped retrieval features on all three. What follows is how I actually decide, not a feature matrix scraped from landing pages.
What are you really choosing between?
These three products are not the same category, and treating them as interchangeable is the first mistake.
pgvector is a Postgres extension. It adds a vector column type and approximate-nearest-neighbor indexes (IVFFlat and, in more recent versions, HNSW) to a database you probably already run. It is open source and lives inside your existing Postgres instanc
Discussion
Begin the discussion
Begin something meaningful by sharing your ideas.