ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Windows 装 pgvector,5 分钟走通:预编译 + 源码两条路

Windows 装 pgvector,5 分钟走通:预编译 + 源码两条路 Windows 装 pgvector5 分钟走通预编译 源码两条路【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector你手里有一批文本 embedding 向量想按语义相近而不是完全相等来查——存在哪、拿什么查相似的pgvector 是 PostgreSQL 的开源向量相似性搜索扩展向量直接和业务数据存在同一个库里。这篇文章把 Windows 安装与配置的两条路各讲一遍装完你一条ORDER BY就能查出最相似的几条向量。先搞清楚它是什么向量进库相似性查询进 SQL装上 pgvector 之后链路很短embedding 写入 vector 列 → 建 hnsw 索引 → 用距离算子排序。它支持vector单精度、halfvec半精度、bit二进制、sparsevec稀疏四种类型距离函数有 L2-、内积#、余弦等。最大的好处是省掉独立的向量数据库向量跟着 Postgres 走天然有 ACID、JOIN、事务回滚应用侧只要会连 Postgres 就行。装之前只需核对三件事PostgreSQL 13 以上推荐 16/17/18本文按 PG 16 的路径写你换成自己的版本号即可。编译工具链源码编译需要 Visual Studio 2019含 C 支持只拷文件的话这条可以不管。管理员权限安装目录C:\Program Files\PostgreSQL\16\在受保护路径下没有管理员权限拷不进去这也是最常见的失败原因之一。版本上认准仓库当前版本vector.control 里default_version 0.8.6clone 时直接锁定v0.8.6分支别拉 main 去和旧库混着跑。主路径预编译产物拷三个文件就完事pgvector 的 Windows 官方文档只给了编译入口但它的安装目标做的事其实就是拷三样东西见 Makefile.win 的install目标。如果你手头已经有这三样——上次构建留下的、CI 产物、别人给的都行——直接复制部署一分钟的事copy vector.dll C:\Program Files\PostgreSQL\16\lib\ copy vector.control C:\Program Files\PostgreSQL\16\share\extension\ copy sql\vector--*.sql C:\Program Files\PostgreSQL\16\share\extension\这三样分别是动态库、扩展控制文件、扩展 SQL 定义sql/ 目录里从 0.1.0 到 0.8.x 的全套升级脚本都包含在vector--*.sql里。不用重启服务——CREATE EXTENSION是运行时读这些文件的放进去就能用。备选路 B源码编译拿不到现成文件时走这条以管理员身份打开x64 Native Tools Command Prompt for VS注意必须是 x64 的架构不对后面必炸设好 PGROOT 后按官方 README.md Windows 一节走set PGROOTC:\Program Files\PostgreSQL\16 cd %TEMP% git clone --branch v0.8.6 https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector nmake /F Makefile.win nmake /F Makefile.win installinstall这一步自动完成了主路径里手动拷的三件事所以两条路殊途同归。四行 SQL 验证是否装好在目标库里跑下面四句-是 L2 距离值越小越接近CREATE EXTENSION vector; 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 5;第四句的结果第一行应该是[1,2,3]那条——它离查询向量[3,1,2]最近。能出这个顺序说明类型、索引算子、距离计算全链路都通了。装失败按报错查别慌pgvector 在 Windows 上的坑基本就这几种对号入座前四条都来自官方 README 的 Windows 安装注意事项典型报错根因一行修复Cannot open include file: postgres.hPGROOT指错了目录把set PGROOT改成实际的 PG 安装根目录error C2196: case value 4 already used用了非 x64 的工具提示符换到 x64 Native Tools Command Prompt先nmake /F Makefile.win clean再重编unresolved external symbol float_to_shortest_decimal_bufnPostgres 17.0–17.2 已知不兼容把 PG 升到 17.3 再重新编译Access is denied没有写 Program Files 的权限用管理员身份重开终端重跑 installcould not open extension control file vector.controlcontrol 文件没放进share\extension\补拷vector.control到该目录无需重启装完值得做的 3 件事给向量列建索引——数据过万行后裸扫会很难看。先SET一个宽裕的maintenance_work_mem再建索引构建会更快更稳SET maintenance_work_mem 2GB; CREATE INDEX ON items USING hnsw (embedding vector_l2_ops);算子按距离类型选vector_l2_ops、vector_ip_ops、vector_cosine_ops 分别对应三种度量和查询用的算子保持一致。省空间向量量大时把vector换成halfvec精度减半、体积减半或sparsevec只存非零分量README 里都有示例。挑个方向用起来语义搜索文档 embedding -召回、个性化推荐用户行为向量近邻、图像相似匹配——都是把 embedding 落进同一张业务表SQL 里直接 JOIN 召回结果不用再维护两套存储。升级时不用重头再来clone 新版本重跑一遍安装步骤即可sql/ 里成对的vector--0.8.5--0.8.6.sql这类升级脚本会让已有库平滑过渡先在测试库验证再动生产。参考资料都在仓库里安装说明看 README.mdWindows 编译配置看 Makefile.win核心 C 源码在 src/版本变更历史见 CHANGELOG.md。【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表