pgvector 安装教程:给 Postgres 三步装上向量检索
2026/9/5 15:47:37 网站建设 项目流程

pgvector 安装教程:给 Postgres 三步装上向量检索

【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector

pgvector 是 Postgres 的开源向量检索扩展:embedding 直接存进普通表,一条 SQL 查最近邻,不用另养一套向量库。适合刚接触向量搜索的开发者,照这篇走完,从拉源码到建表、插入、查到第一条最近邻结果,约 10 分钟。

先搞清它能干什么

  • 四种向量类型:vector(单精度)、halfvec(半精度,省一半空间)、bit(二进制)、sparsevec(稀疏,只存非零项)
  • 距离算子齐活:<->欧氏、<#>内积、<=>余弦、<+>L1,都能建索引
  • 默认精确检索,召回 100%;建了 HNSW 或 IVFFlat 索引就是近似检索,拿一点召回换速度
  • 向量列能直接 JOIN、参与事务,任何带 Postgres 客户端的语言都可用
  • 边界提醒:HNSW 对 vector 限 2000 维,再高得换 halfvec 或量化

动手前核对这几样

项目要求为什么需要
PostgreSQL13+,推荐 16/17编译时要链接它的头文件和库
构建工具GCC/Clang + make,或 VS2019+ 勾选 C++ 桌面开发Makefile 靠它调编译器
Git较新版本拉源码
管理员权限sudo 或管理员终端make install要写入 PG 安装目录

跟着做

① 把源码拉到临时目录,装完随时能删。

cd /tmp git clone --branch v0.8.6 https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector

源码就位,下面交给 make。

② 一条命令编译,再装进 Postgres 的目录:

make make install # 无写权限时前面加 sudo

Windows 走另一条路:在 VS 的 x64 Native 命令行里,先设好PGROOT指向 Postgres 安装目录(如C:\Program Files\PostgreSQL\16),再依次执行nmake /F Makefile.winnmake /F Makefile.win install,细节见 Makefile.win。

③ 连上目标库,把扩展打开。每个要用的库都执行一次:

CREATE EXTENSION vector;

怎么确认没问题

先查版本,应返回一行0.8.6

SELECT extversion FROM pg_extension WHERE extname = 'vector';

再建张最小表跑一查,第一行应该是离[3,1,2]更近的[1,2,3]

CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3)); INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]'); SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 1;

若建扩展时报could not open shared object file,先查make install是否真正落盘:看权限,或核对PGROOT指的版本对不对。想跑全量回归:make installcheck,它会把 test/sql/ 下的所有用例过一遍。

卡住了先查这里 🔧

  • make 报pg_config not found→ 没装 PG 开发头文件 → Debian 系装postgresql-server-dev-17,Mac 先xcode-select --install
  • make install报 Permission denied → 对安装目录没写权限 → 加sudo重跑
  • CREATE EXTENSION 找不到vector库 → .so 没进 lib 目录 → 重跑make install,确认没被跳过

下一步

到这里,Postgres 已经会算向量了。下一步:建个 HNSW 索引,把真实 embedding 灌进去,跑第一条相似查询。

【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

立即咨询