Qdrant vs. pgvector: which vector database for RAG?
Timo Wevelsiep•Updated: 23.07.2026Editorial note: Versions, commands and prices may change. Please verify critical steps independently before production use. This guide does not replace individual consulting.
Have a RAG knowledge system built on your own infrastructure? WZ-IT builds and operates RAG systems - including the right vector database, retrieval logic and permissions, GDPR-compliant from one team. See custom RAG solutions
Every RAG system needs a vector database to make the knowledge from documents searchable. Two options dominate the open-source space: the Postgres extension pgvector and the dedicated vector database Qdrant. They represent two approaches - staying in familiar Postgres or operating a specialized system. This comparison places both. As of July 2026.
Table of contents
- Dedicated vector database or Postgres extension
- pgvector: staying in Postgres
- Qdrant: built for vector search
- The two compared
- Which for which case
Dedicated vector database or Postgres extension
The fundamental question is not "which tool is better" but "your own system or extend the existing database". pgvector brings vector search as an extension into an existing PostgreSQL - no additional service, the same database. Qdrant is a standalone system written in Rust, built exclusively for similarity search.
Both are open source and self-hostable. The difference lies in the operating model, scaling and how deeply the vector search is intertwined with the rest of the data.
pgvector: staying in Postgres
pgvector is the pragmatic start for most first RAG pipelines. Because it lives in an existing Postgres database, operating an additional service is unnecessary: backups, monitoring, failover and access control all run through the existing Postgres installation.
The second advantage is consistency: when search results and application data lie in the same database, a whole class of synchronization bugs disappears. For typical sizes - roughly under ten million vectors - pgvector is fast enough, and with extensions like pgvectorscale it scales further. The storage foundation matters: the search benefits strongly from fast NVMe SSDs.
Qdrant: built for vector search
Qdrant is optimized for vector search from the ground up. The Rust implementation uses SIMD-accelerated distance calculations, memory-mapped storage and a search engine tailored to nearest-neighbor queries. In benchmarks Qdrant pulls ahead with large vector volumes (from about ten million) and high query concurrency and offers the best price-performance ratio in self-hosting.
Especially relevant for enterprise knowledge systems: Qdrant applies payload filters directly during the similarity search (filterable HNSW). That is the basis for permission-controlled RAG, where forbidden hits must not even enter the result set - see RAG with real permissions. The price is a separate service with its own storage, monitoring and upgrade path.
The two compared
| Dimension | pgvector | Qdrant |
|---|---|---|
| Type | PostgreSQL extension | Standalone vector database |
| Operation | Part of the existing DB | Separate service (container/K8s) |
| Consistency | With application data in one DB | Separate system |
| Scaling | Good up to ~10M vectors | Strong from 10M+ and high concurrency |
| Filters | SQL conditions | Payload filters in the search (HNSW) |
| Operating effort | Uses existing Postgres infrastructure | Own storage, monitoring, updates |
| Sweet spot | First entry, moderate size | Large scale, demanding filters |
Which for which case
The honest short version: when in doubt, start with pgvector. Anyone already using Postgres with a manageable number of documents saves a whole service with pgvector and gets consistency for free.
- pgvector when you operate Postgres anyway, the data volume stays in the low millions and simplicity and consistency matter.
- Qdrant when the vector volume or the query concurrency grows considerably, or when demanding filters - for tenant separation and permissions - must take effect directly and quickly in the search.
A switch stays possible: the embeddings are independent of the storage engine, the corpus can be re-indexed into Qdrant. That is why the smarter path is often to start small and switch only when the requirements demand it. How the vector database fits into the overall picture is shown in What is RAG?.
Rather have it operated?
You'd rather not run Local & Sovereign AI yourself? WZ-IT handles setup, operations and maintenance - GDPR-compliant from Germany.
Frequently Asked Questions
Answers to the most important questions
pgvector is an extension for PostgreSQL that brings vector search into an existing database - without an additional service. Qdrant is a standalone vector database written in Rust, built specifically for similarity search. pgvector is the simple entry in familiar Postgres, Qdrant the more powerful choice with large data volumes and high concurrency.
For most first RAG systems pgvector is the right start: no additional service, consistent with the application data, and fast enough for typical sizes (under about 10 million vectors). Qdrant pays off when the data volume or the number of concurrent requests grows considerably, or when demanding filters are needed directly in the search.
When pgvector hits limits - typically beyond a few million vectors, at high query concurrency or when the search with many metadata filters must stay fast. Qdrant is optimized for exactly these loads and delivers the best price-performance ratio there in self-hosting.
Yes. Qdrant runs as a separate service - typically as a container or in Kubernetes - with its own storage, monitoring and upgrade path. pgvector, by contrast, uses the existing Postgres installation including its backups, monitoring and access control. That is a significant difference in operating effort.
Yes, both are open source and self-hostable, so the data stays on your own infrastructure. For permission-controlled RAG it matters that the ACL filter takes effect directly in the search. Qdrant applies payload filters during the similarity search; pgvector combines vector search with familiar SQL conditions.
Yes. Since the embeddings are independent of the storage engine, the corpus can be re-indexed into Qdrant. That is why it makes sense to start with pgvector and switch only when scaling or filter requirements demand it - instead of operating the more complex solution from the start.
More on Local & Sovereign AI
- The open-source LLM stack
- What is LiteLLM?
- What is Langfuse?
- What is vLLM?
- vLLM vs. Ollama
- What is RAG?
- Connect Open WebUI to Nextcloud (RAG with ACLs)
- What is local AI?
- Cloud AI vs. self-hosted
- AI sovereignty for companies
- Which LLM to self-host?
- Sizing GPU & VRAM
- Qdrant vs. pgvector
- The EU AI Act for companies
- Local AI for confidentiality professions
- Processing documents with AI
- AI agents & automation






