拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Windows 安装 pgvector:两条命令给 PostgreSQL 装上向量搜索

Windows 安装 pgvector两条命令给 PostgreSQL 装上向量搜索【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvectorpgvector 是 PostgreSQL 向量搜索领域事实上的开源扩展装好之后你可以在表里存嵌入向量用一条 SQL 返回最近邻结果再靠 HNSW 或 IVFFlat 索引把召回速度提上去。这篇文章讲 Windows 下的完整安装路径先说装完能干什么再讲安装方式怎么选最后落到如何确认装对。装完 pgvector 能干什么装好后有三件事立即可用在表里定义定长的向量列如vector(3)直接在 SQL 里做相似度排序-是 L2 距离另有 cosine 距离、内积运算符可选给大表建 HNSW 或 IVFFlat 索引加速 top-N 查询。用最小例子验证CREATE TABLE items ( id bigserial PRIMARY KEY, embedding vector(3) ); INSERT INTO items (embedding) VALUES ([1,2,3]), ([4,5,6]), ([7,8,9]); SELECT * FROM items ORDER BY embedding - [3,1,2] LIMIT 5;三行数据按距离远近正确返回说明基础功能已就位。两种安装方式怎么选先核对版本当前稳定版是 0.8.6可对照 vector.control 与 Makefile.win 中的版本号你装的扩展要和 PostgreSQL 主版本匹配。下文以 PG 16 的安装目录C:\Program Files\PostgreSQL\16为例。预编译文件安装从项目发布页拿到对应版本的 Windows 预编译文件放入两个目录vector.dll放入C:\Program Files\PostgreSQL\16\lib\vector.control和各vector--*.sql放入C:\Program Files\PostgreSQL\16\share\extension\。不需要编译器这条路最快。pgvector 源码编译需要最新代码或定制编译时走源码路线。先克隆仓库git clone https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector打开 Visual Studio 的 x64 Native Tools Command Prompt设置PGROOTMakefile.win 对此有硬性要求缺失会直接报错然后set PGROOTC:\Program Files\PostgreSQL\16 nmake /f Makefile.win nmake /f Makefile.win installinstall目标会自动把vector.dll拷进lib\.control与 SQL 脚本拷进share\extension\头文件拷进include\server\extension\vector\全程不用手动搬文件。⚠️ 编译报错先查这三处Windows 编译翻车基本集中在这三个原因用错了 Makefile。标准Makefile面向 GNU make在 Windows 上执行会报CreateProcess(NULL, uname -s, ...) failed。nmake 必须显式指定Makefile.win。PGROOT 未设置或指向错误。Makefile.win 从PGROOT读取编译器、头文件与安装目录缺失时立即报PGROOT is not set。命令提示符不对。编译要在 VS 开发者命令提示符里跑普通 cmd 找不到 nmake 和 MSVC 工具链。编译参数如需调整参考 Makefile.win 里PG_CFLAGS的/O2 /fp:fast定义。一条命令确认安装成功启动 PostgreSQL 服务进入 psql 执行CREATE EXTENSION vector; SELECT [1,2,3]::vector; SELECT extname, extversion FROM pg_extension WHERE extname vector;第一条返回向量字面量、末条显示 0.8.6安装即正确。若报could not open extension control file说明.control和.sql没放进share\extension\。装好之后的下一步给测试表加索引HNSW 与 IVFFlat 可直接参考官方用例 test/sql/hnsw_vector.sql 和 test/sql/ivfflat_vector.sql。看懂实现HNSW 索引代码在 src/hnsw.c 及其 build/scan/insert 系列模块IVFFlat 的 k-means 逻辑在 src/ivfkmeans.c边查边读成本很低。跟进版本更新CHANGELOG.md 记录了近期修复HNSW vacuum 与 IVFFlat 内存相关的条目值得重点看。数据量小阶段顺序扫描就能跑等数据量上来先上 HNSW数据稳定、少更新的场景 IVFFlat 建索引更轻。【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门