pgvector vs Qdrant (2026):留在 Postgres 还是使用专用向量数据库?
已经在用 Postgres?这里精确说明了什么时候 pgvector 就够了——以及什么时候像 Qdrant 这样的专用引擎物有所值。
如果你已经在运行 PostgreSQL,务实的选择通常是 pgvector——添加向量搜索只需一句 CREATE EXTENSION vector;,无需运行、备份或监控新的服务。当你的规模、对原生混合搜索的需求或过滤搜索性能超出了通用数据库所能轻松承受的范围时,你就升级到 Qdrant(一个专用的、基于 Rust 的、Apache-2.0 向量引擎)。这次对比按照实际场景来框定决策:不是“抽象上哪个向量数据库更好”,而是“我该扩展已有数据库,还是搭建专用的?”
两者都是真正的开源且可自托管。查看全部选项,请参阅我们的最佳自托管向量数据库指南。
并排对比
| pgvector | Qdrant | |
|---|---|---|
| 本质 | PostgreSQL 扩展 | 专用向量数据库 |
| 许可证 | PostgreSQL 许可证 (类似 BSD) | Apache-2.0 |
| 核心语言 | C | Rust |
| GitHub 星标 (2026 年 6 月) | 21.8k | 32.4k |
| 混合搜索 | 部分/DIY——向量 + Postgres 全文 SQL 组合 | 原生——密集+稀疏,单个查询中 RRF/融合 |
| 自托管 | 在任何 Postgres 上执行 CREATE EXTENSION vector; | 单个 qdrant/qdrant Docker 镜像;提供分布式模式 |
| 新增基础设施 | 如果你已经运行 Postgres 则无需新增 | 是的——需要操作一个单独的服务 |
| 托管选项 | 任何托管 Postgres (RDS, Supabase, Neon 等) | Qdrant Cloud (永久免费层;按使用量付费) |
星标数是 GitHub 截至 2026 年 6 月的四舍五入数字,会有变动;许可证和语言是稳定的事实。
真正的问题:扩展 Postgres 还是添加一个服务?
这次对比有点不寻常,因为 pgvector 和 Qdrant 并不完全是同一种东西。pgvector 是一个扩展,将向量搜索附加到你可能已经操作的数据库上;Qdrant 是一个专门构建的向量数据库,将一件事做得极其出色。所以决策实际上关乎运维架构:
- pgvector 将所有东西放在一个地方。 你的关系数据、全文搜索和向量都位于同一个 Postgres 实例中,可以在单个 SQL 查询中连接,由一个备份和一个监控设置覆盖。无需学习第二个系统。
- Qdrant 分离关注点。 你运行一个专门为向量工作负载优化的专用服务,拥有自己的扩展性、自己的性能特征和自己的运维面。
如果你还没有使用 Postgres,那么权衡就不同了——添加 pgvector 意味着你采用了 Postgres 本身,此时专用引擎的对比就更加公平。但经典的 pgvector 宣传点是:你已经有 Postgres 了,所以添加向量搜索几乎是免费的。
混合搜索
这是两者之间最明显的功能差异。
- Qdrant 拥有原生混合搜索——密集+稀疏向量、每个点多个命名向量,并在单个查询中可配置融合(例如倒数排序融合)。它是一等功能。
- pgvector 在混合搜索上是部分/DIY。它提供向量搜索(和一个
sparsevec类型),但没有单个内置的混合操作符。你通过**在 SQL 中组合 pgvector 相似度和 Postgres 全文搜索(tsvector)**并自己融合结果来实现混合。这需要更多工作——但也完全透明,在你已经熟悉的工具中运行,并允许你在同一查询中混合任意关系过滤器。
如果现成的混合搜索是硬性要求,Qdrant 干净利落地获胜。如果你愿意编写 SQL 来混合向量和关键词结果,pgvector 可以做到——只是由你来组装融合。
性能与延迟
通常的注意:向量基准测试依赖于配置、数据集和硬件,你应该在自己的数据上进行基准测试。
- Qdrant 发布了基准测试,声称在大多数场景下具有最高的 RPS 和最低的延迟,在一个数据集上约有 4 倍的 RPS,并且在过滤搜索上有显著优势。基准数据上次刷新是在 2024 年。
- pgvector 没有提供第一方基准测试——它是一个扩展,其速度完全取决于运行它的 Postgres 主机。存在第三方数据:AWS 报告在 Aurora 上 pgvector 0.7 的 HNSW 构建速度最快可达 30 倍,Supabase 也报告了自身的 HNSW 加速。但请将这些视为供应商(主机)数据,而非 pgvector 自身的声明——绝对延迟取决于主机和配置。
实际解读:在配置良好的 Postgres 上,中等规模下 pgvector 足够快,以至于数据库很少成为瓶颈。当你的向量数量攀升至数百万并且查询量增加时,像 Qdrant 这样专门为 ANN 搜索和过滤查询构建的专用引擎,更有可能在不过度配置主数据库的情况下保持低延迟。当大量向量查询会与你的事务性 Postgres 工作负载竞争资源时,Qdrant 也是更安全的选择。
自托管与运维
- pgvector——如果你已经运行 Postgres,这是最轻量的占用。 在现有数据库上执行
CREATE EXTENSION vector;。没有新容器、没有新服务、没有单独的备份。如果你还没有运行 Postgres,那么你现在需要运维 Postgres——虽然被充分理解,但也是实实在在的工作。 - Qdrant——一个干净的专用服务。 单个官方
qdrant/qdrantDocker 镜像,开箱即用为单节点,可扩展为分布式/集群。其易用性达到了独立向量数据库的极致——但按照定义,它是又一个服务,需要与你已有的任何数据库一起运行、保护、备份和监控。
pgvector 有一个值得提及的微妙运维风险:大型向量索引和繁重的 ANN 查询会在同一个实例上消耗内存和 CPU,而这个实例同时也服务于你应用的事务流量。在中小规模下,这既好又方便;但在大规模下,这意味着你的向量工作负载和主要工作负载会开始争夺资源——这正是将 Qdrant 分离出来变得值得额外服务的地方。
成本与定价
自托管两者都是在你控制的硬件上运行自由软件,在中小规模下两者都能放在一个 ~$20–30/月 的 VPS 上。
- pgvector 没有独立的云——你的成本就是你 Postgres 的成本,无论它是你自己运行的机器还是托管 Postgres(AWS RDS/Aurora、Google Cloud SQL/AlloyDB、Supabase、Neon 等)。如果你已经在为 Postgres 付费,那么向量搜索的边际成本几乎为零,直到你的索引大到需要更多内存。
- Qdrant 自托管是免费的;Qdrant Cloud 提供永久的免费层(1 节点,0.5 vCPU / 1 GB 内存 / 4 GB 磁盘)以及通过计算器按使用量付费的标准版。自己运行它是第二台机器(或现有机器上的第二个容器),这是一个小的额外基础设施开销。
所以 pgvector 的成本优势是真实但特定的:它最便宜是因为你摊销了已经付费的基础设施。一旦向量需要自己专用的、配置良好的硬件,这种优势就会缩小,而 Qdrant 的专业化开始带来回报。
何时选择哪个
如果以下情况,继续使用 pgvector:
- 你已经运行 PostgreSQL 并且想要零新增基础设施。
- 你的向量数量是中小规模,且查询不主导你的数据库负载。
- 你重视将关系数据、全文和向量保持在单个 SQL 查询中可连接。
- 你能接受自己从 pgvector + Postgres 全文组合混合搜索。
如果以下情况,迁移到 Qdrant:
- 你需要原生混合搜索,而不是在 SQL 中手动实现。
- 你正在扩展到数百万向量和/或高查询量。
- 过滤搜索性能对你的产品至关重要。
- 你想将繁重的向量工作负载从主事务数据库移开。
结论
如果你已经在使用 Postgres,从 pgvector 开始——这是添加向量搜索摩擦最小、成本最低的方式,对于大量应用来说,它确实就是你所需要的一切。当你遇到以下明确触发点时,转向 Qdrant:需要原生混合搜索、扩展到数百万向量、要求严格的过滤搜索延迟,或者需要将向量负载与事务数据库隔离。这个决定不是“哪个更好”——而是“向量搜索是我现有数据库的一个功能,还是一个足够大、值得拥有自己引擎的工作负载?”pgvector 回答了前者;Qdrant 回答了后者。
常见问题
我应该使用 pgvector 还是 Qdrant? 如果你已经运行 PostgreSQL 且规模中等以下,使用 pgvector——它无需新增基础设施即可添加向量搜索。当你需要原生混合搜索、扩展到数百万向量、需要强大的过滤搜索性能,或者想将繁重的向量查询从主数据库移开时,切换到 Qdrant。
pgvector 是否足够好用于生产环境? 是的,适用于广泛的生产工作负载——尤其是当向量是数据已存在于 Postgres 中的应用的一个功能时。当向量数量或查询负载增长到足以与你的事务流量竞争时,它就成为错误的工具,此时像 Qdrant 这样的专用引擎是更好的架构。
pgvector 支持混合搜索吗?
部分支持。pgvector 处理向量方面(并提供 sparsevec 类型),但没有单个内置的混合操作符。你在 SQL 中将 pgvector 与 Postgres 全文搜索(tsvector)结合并自己融合结果。相比之下,Qdrant 在单个查询中原生支持混合搜索。
Qdrant 比 pgvector 快吗? Qdrant 是专门为向量搜索构建的,并发布了基准测试,声称具有高 RPS 和在过滤搜索上的优势(上次更新于 2024 年)。pgvector 没有发布第一方基准测试;其速度取决于 Postgres 主机。在良好硬件上的中等规模下,pgvector 通常足够快;在大规模下,像 Qdrant 这样的专用引擎更可能保持低延迟。请在自己的数据上进行基准测试。
pgvector 和 Qdrant 使用什么许可证? pgvector 使用 PostgreSQL 许可证(一个宽松的、类似 BSD 的许可证);Qdrant 使用 Apache-2.0。两者都是宽松允许的,没有 Copyleft,因此可以安全地嵌入商业软件。
Aquila 是 私有、自托管 AI 搜索 的独立指南——搜索是你拥有的,而非租赁的。在最佳自托管向量数据库中查看全部选项,在 Qdrant vs Weaviate 中比较两大主流专用引擎,或浏览所有对比。掌控你自己的搜索。