5分钟玩转PostgreSQL向量检索
2026/7/31 5:08:34 网站建设 项目流程

AI 数据库入门:5分钟带你玩转 PostgreSQL 向量检索 (pgvector)

在构建大模型应用(如 RAG 检索增强生成、智能推荐系统)时,我们往往面临一个架构选择:是引入独立的向量数据库(如 Milvus、Pinecone),还是直接在现有关系型数据库中解决?

引入独立向量数据库虽然性能强劲,但会带来额外的运维成本、数据同步难题以及无法进行复杂 JOIN 查询的痛点。

破局之道:pgvector。它让 PostgreSQL 直接具备了向量存储与检索能力,实现业务数据与向量数据的统一管理,完美支持 ACID 事务和传统 SQL 操作。本文将带你用 5 分钟时间,从环境搭建到核心检索,快速上手 pgvector。

环境准备与安装

前置条件

pgvector 需要PostgreSQL 13及以上版本。

安装方式

1. Docker 一键部署(强烈推荐)

这是最快、最干净的方式,无需污染本地环境:

dockerrun--namepgvector-ePOSTGRES_PASSWORD=mysecretpassword-p5432:5432-dpgvector/pgvector:pg16
2. 源码编译安装(适合本地开发)

如果你已有 PostgreSQL 环境,可以通过源码安装:

cd/tmpgitclone--branchv0.7.0 https://github.com/pgvector/pgvector.gitcdpgvectormakemakeinstall

启用扩展

连接到数据库后,执行以下 SQL 启用扩展:

CREATEEXTENSION vector;

核心实战:建表、插入与检索

1. 创建向量表

使用vector(dimensions)类型定义向量列。以下以 3 维向量为例(实际业务中如 BGE-M3 模型通常为 768 或 1024 维):

CREATETABLEtblvector(id bigserialPRIMARYKEY,itemtext,embedding vector(3));

2. 插入向量数据

将 AI 模型生成的 Embedding 存入数据库:

INSERTINTOtblvector(item,embedding)VALUES('苹果','[1.0, 0.9, 0.2]'),('香蕉','[1.2, 0.8, 0.1]'),('猫','[6.0, 0.4, 5.0]');

3. 相似度检索

使用距离操作符<=>进行余弦相似度检索,查找最相似的 Top-K 结果:

SELECTitem,embedding<=>'[1.2, 0.8, 0.1]'AScosine_distanceFROMtblvectorORDERBYcosine_distanceLIMIT2;

预期结果:

itemcosine_distance
香蕉0
苹果0.02…

提示:<=>为余弦距离,值越小越相似;<->为欧氏距离;<#>为负内积距离。

性能进阶:索引策略

当数据量达到百万级时,全表扫描将成为性能瓶颈。pgvector 提供了两种主流索引:

HNSW 索引(推荐)

适合对查询性能要求高、数据更新不频繁的场景。构建速度较慢,但查询极快。

CREATEINDEXONtblvectorUSINGhnsw(embedding vector_cosine_ops)WITH(m=16,ef_construction=64);
  • m: 每个节点的最大连接数,越大索引质量越高,内存占用越大。
  • ef_construction: 构建索引时的搜索宽度,越大构建越慢但索引质量越好。

IVFFlat 索引

适合数据量极大、构建速度要求高的场景。需要先有数据才能创建索引。

CREATEINDEXONtblvectorUSINGivfflat(embedding vector_cosine_ops)WITH(lists=100);
  • lists: 聚类中心数量,通常建议设置为sqrt(行数)行数/1000之间。

总结与下一步

pgvector 的核心优势在于零额外运维事务一致性SQL 生态兼容。对于中小规模向量检索或混合检索场景,它是目前性价比最高的选择。

下一步思考:
如何结合 LangChain 或 LlamaIndex 搭建完整的 RAG 系统?如何在 pgvector 中实现元数据过滤(Metadata Filtering)?

互动话题:在你的项目中,你更倾向于使用 HNSW 还是 IVFFlat 索引?欢迎在评论区分享你的实战经验!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询