新闻详情

新闻详情

首页 / 资讯中心 / 详情

如何在 Windows 上编译安装 pgvector:PostgreSQL 向量搜索的 PGROOT 到 vector.dll 实操清单

发布时间:2026/9/5 15:50:36来源:尧图网络
如何在 Windows 上编译安装 pgvector:PostgreSQL 向量搜索的 PGROOT 到 vector.dll 实操清单
如何在 Windows 上编译安装 pgvectorPostgreSQL 向量搜索的 PGROOT 到 vector.dll 实操清单【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvectorpgvector 是 PostgreSQL 向量搜索的常用扩展它给数据库加上向量类型、距离函数和近似最近邻索引。在 Windows 上装好之后你可以直接对任意表做相似性查询CREATE EXTENSION vector; 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 id FROM items ORDER BY embedding - [3,1,2] LIMIT 1;最后一条查询会按 L2 距离返回最接近的目标向量。装完就能跑通上面这四行就算完成。编译前需要备好的三样东西装什么装哪个组件装完怎么确认Visual Studio 2022工作负载勾选使用 C 的桌面开发组件里带上 C CMake 工具和 Windows SDK终端输入cl能打印出 C/C 编译器版本信息PostgreSQL 13 及以上安装时勾选 Development Filesdir %PGROOT%\include\server\postgres.h能列出该头文件PGROOT 环境变量指向 PostgreSQL 安装根目录echo %PGROOT%回显的路径下同时存在include、lib、share三个目录编译器、头文件、环境变量三者齐了后面两步才不会出现找不到东西的报错。阶段一最快拿到编译器环境不要直接在普通 cmd 里敲命令。从开始菜单启动 x64 Native Tools Command Prompt for VS 2022并右键选择以管理员身份运行。管理员身份是留给安装阶段写C:\Program Files用的先开好免得中途重来。cl预期输出是微软 C/C 优化编译器的版本横幅Microsoft (R) C/C Optimizing Compiler及版本号最后提示输入源文件名。通过标准能打印横幅即通过。回显 cl.exe 不是内部或外部命令 说明你开的不是这个终端换个窗口重来。阶段二如何确认 PGROOT 指向正确Makefile.win 里有一段检查PGROOT 未设置会直接报!error PGROOT is not set它负责定位include、lib、share三个目录。所以把它指到 PostgreSQL 的安装根目录且路径带空格时记得用引号包住。set PGROOTC:\Program Files\PostgreSQL\16 echo %PGROOT% dir %PGROOT%\include\server\postgres.h预期输出第一行回显你设置的完整路径第二行列出postgres.h的文件名和大小。通过标准路径回显无误、postgres.h存在。如果dir报找不到文件要么开发组件没装要么版本号写错了回到准备清单重新核对。阶段三编译、安装与体检克隆源码并编译cd %TEMP% git clone https://gitcode.com/GitHub_Trending/pg/pgvector.git cd pgvector nmake /F Makefile.win预期输出src\下 20 个 .c 文件依次编译成 .objbitutils、vector、hnsw 系列、ivf 系列等最后一步链接生成vector.dll。通过标准当前目录出现vector.dll全程没有 LNK 开头的错误。安装到 PostgreSQLnmake /F Makefile.win install这一步会把 dll 拷进lib把vector.control和各版本升级脚本拷进share\extension。dir %PGROOT%\lib\vector.dll dir %PGROOT%\share\extension\vector.control预期输出两条命令各自列出一个文件。⚠️ 若回显 Access denied先执行net stop postgresql-x64-16停掉服务再装装完net start启动即可。连库体检用 psql 连上数据库跑开头那四行 SQL。查询返回id 1即说明类型、函数、扩展都工作正常。排错速查表编译安装报错的一行修复现象根因一行修复cl.exe 不是内部或外部命令未在 VS 工具终端里操作从开始菜单重开 x64 Native Tools Command Prompt for VS 2022PGROOT is not set环境变量没设或拼错set PGROOTC:\Program Files\PostgreSQL\16无法打开包括文件 postgres.h没装 Development Files 或 PGROOT 指错重装 PostgreSQL 并勾选 Development Files再dir验证头文件链接报 LNK2019 未解析符号%PGROOT%\lib\postgres.lib不存在确认 PGROOT 下lib目录里有postgres.lib路径错了就改 PGROOT安装时 Access deniedPostgreSQL 服务占用了目标文件net stop postgresql-x64-16后重跑nmake /F Makefile.win installCREATE EXTENSION vector报打不开共享库装完没重启服务或 dll 没进 lib 目录重启 PostgreSQL 服务并dir %PGROOT%\lib\vector.dll复核 排错时先跑echo %PGROOT%和两条dir命令六个条目里的一半问题在这一步就能定位。能力速览装好之后能做什么向量类型除标准单精度vector外还提供半精度halfvec、二进制bit和稀疏sparsevec各自对应不同存储与计算场景。距离度量L2-、内积#、余弦、L1二进制向量还有汉明~与 Jaccard%。索引算法不加索引时是精确最近邻加上 IVFFlat 或 HNSW 后转为近似搜索用少量召回换查询速度。接下来可以做的两件事一是给items表建一个USING hnsw (embedding vector_l2_ops)索引对比加索引前后LIMIT 1查询的耗时二是跑一遍回归测试集命令是nmake /F Makefile.win installcheck用例在 test/sql/ 目录下。pgvector 的价值在于向量查询与 SQL、事务、JOIN 共用一套基础设施装好后无需再维护第二套向量服务。【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

音游高难铺面预览制作:从FBD 11到ULT 10的设计拆解与JSON分析 2026/9/5 16:29:42

音游高难铺面预览制作:从FBD 11到ULT 10的设计拆解与JSON分析

在音游铺面创作圈里,最难的不是写出一张能玩的谱,而是写出“一眼就能看懂设计意图”的谱。尤其是当你面对的是 In Falsus(IF)这种拥有极高上限曲库的收录体系,或者要挑战 FBD 11、ULT 10 这样的高难定数档位时&#xf…

阅读更多 →
MaxKB 知识库模板:3分钟走完批量导入到自建模板的完整路径 2026/9/5 16:29:42

MaxKB 知识库模板:3分钟走完批量导入到自建模板的完整路径

MaxKB 知识库模板:3分钟走完批量导入到自建模板的完整路径 【免费下载链接】MaxKB 🔥 MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。 项目地址: https://gitcode.com/GitHub_Trending/ma…

阅读更多 →
Cryogenic FBD12谱面全拆解:难度、读谱与练习指南 2026/9/5 16:29:42

Cryogenic FBD12谱面全拆解:难度、读谱与练习指南

这篇文章要拆开的不是谱面本身,而是“Cryogenic FBD12”这首谱在玩法设计、难度结构和标签背后的实际体验。我最初看到“FBD12”这类谱面标注时,第一反应是先看它属于什么模式、对应什么输入设备、为什么会单独给出“低温”这个主题设定。搞清楚这三个问…

阅读更多 →
Claude Code与Messages API实战:思考块限制解读及VSCode配置 2026/9/5 16:29:42

Claude Code与Messages API实战:思考块限制解读及VSCode配置

最近 Claude Code 的讨论热度非常高,不少开发者都在关注 Claude 系列模型的版本迭代、Messages API 的参数变化,以及如何使用 Claude Code 配合本地编辑器完成日常开发任务。社区里能搜到大量关于“Fable 5.1”的提及,也有开发者反馈 Message…

阅读更多 →
Claude Code与Messages API思考块新限制开发实战解析 2026/9/5 16:29:42

Claude Code与Messages API思考块新限制开发实战解析

刚开始接触 Claude 生态的同学,很容易被一串新产品名字搞晕:Claude、Claude Code、Messages API、思考块、还有文档里偶尔冒出来的 Fable 5.1。尤其是当你正在开发 AI Agent 或自动化脚本,突然发现官方支持文档对某一处接口行为做了调整&…

阅读更多 →
禁闭求生2恶意盛宴获取攻略:神秘人装备完整解锁流程 2026/9/5 16:26:41

禁闭求生2恶意盛宴获取攻略:神秘人装备完整解锁流程

开门见山说结论:如果你正在《禁闭求生2》后期为了“神秘人装备”四处碰壁,大概率不是你操作不行,而是获取逻辑没转过来。这件被很多人称为《恶意盛宴》的装备,并不是“找到一个Boss、打死、捡装备”这么简单。它背后是一个跨区域、…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞