新闻详情

新闻详情

首页 / 资讯中心 / 详情

pgvector 安装实战:Windows 上 30 分钟跑通向量搜索,附 5 个高频报错对照

发布时间:2026/9/5 15:53:37来源:尧图网络
pgvector 安装实战:Windows 上 30 分钟跑通向量搜索,附 5 个高频报错对照
pgvector 安装实战Windows 上 30 分钟跑通向量搜索附 5 个高频报错对照【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector如果你要在自己的 PostgreSQL 里存向量、做相似度检索手边又只有 Windows 这一台机器这篇能帮你把 pgvector 安装走通一台配置好的 x64 终端、大约 30 分钟最后拿到的是一份能返回最近邻结果的 vector.dll外加一条跑通了的 SQL 证明装好了。全程真正需要记住的只有两条编译命令和两段查询。环境自检清单动手前花 60 秒确认碰编译器之前先把这张表过一遍。Windows 上绝大多数编译失败都不是代码问题而是下面四件事没就位检查项要求确认方式编译器装了「C 桌面开发」工作负载的 Visual Studio终端输入cl打印用法说明即通过Postgres13 及以上版本安装时带开发文件17 系列需 17.3安装目录下有include\server\postgres.h权限管理员终端终端标题栏带「管理员」字样路径清楚 Postgres 安装根目录在哪下文 PGROOT 会用到一分钟自检就一条命令在 VS 的 x64 命令行提示符里跑怎么打开见下节cl dir C:\Program Files\PostgreSQL\18\include\server\postgres.h第一行能打出编译器用法、第二行能列出那个头文件说明具备开工条件。第二条命令如果报「找不到路径」要么版本号不对要么装 Postgres 时没勾开发文件先去补别急着进编译。构建主线从打开终端到生成 vector.dll整个构建是一条连续的线下面按顺序走每条命令都说明为什么跑它、成功后屏幕上会出现什么。第一步打开正确的终端。从开始菜单搜 x64 Native Tools Command Prompt for VS 2022右键以管理员身份运行。这个提示符里 cl.exe 已经在 PATH 里管理员权限则是后面把文件拷进 Program Files 时需要的。⚠️ 不要用普通 PowerShell 或 cmd 顶替后面会报「cl 不是内部或外部命令」白等一轮。第二步告诉构建脚本 Postgres 在哪。Windows 的构建脚本 Makefile.win 只认一个变量 PGROOT头文件、链接库、安装目录全靠它推算不设会直接中止set PGROOTC:\Program Files\PostgreSQL\18 echo %PGROOT%echo 能回显刚设的路径就对。两个常见分叉版本是 16 或 17 的把路径里的数字改掉机器上装了好几个 Postgres 的PGROOT 指向哪个扩展就装到哪个想清楚再填。第三步拉源码并编译。cd %TEMP% git clone --branch v0.8.6 https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector nmake /F Makefile.winnmake 是 MSVC 自带的命令行构建工具地位相当于 Linux 的 make。这条命令会把 src/ 下 19 个 C 源文件——向量类型、HNSW 索引、IVFFlat 索引这些模块——逐个编译再链接成一个 dll。跑一两分钟后结尾会看到一行以 vector.dll 收尾的链接输出这就是你要的产物。第四步装进 Postgres 并核对落盘位置。nmake /F Makefile.win install dir %PGROOT%\lib\vector.dll dir %PGROOT%\share\extension\vector.controlinstall 这个目标会把 dll 拷进 lib 目录把 vector.control 描述文件和各版本 SQL 脚本拷进 share\extension。两条 dir 都能列出文件文件侧就齐了接下来只差进数据库激活它。 环境变量只对当前终端有效。下次换个新终端再编译记得先重新 set 一遍 PGROOT。第一次查询一条 SQL 证明它活了用 psqlPostgres 自带的命令行客户端连上数据库走最小验证路径——建扩展、建表、插数据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]);vector(3) 表示三维单精度浮点向量。然后是关键的一句按 L2 距离欧氏距离值越小越近找离[3,1,2]最近的向量SELECT id, embedding FROM items ORDER BY embedding - [3,1,2] LIMIT 1;如果返回id | embedding ----------------- 1 | [1,2,3] (1 row)就是装好了。离查询向量最近的第一行正确命中pgvector 从这一刻起是你库里的一等公民。卡住了按屏幕上的报错对号入座终端炸了别慌看是哪一句照做就行如果 nmake 第一行就打出PGROOT is not set—— 漏了第二步的 set或者你换了一个新终端。在当前窗口重新 set 再编译即可源码不用重拉。如果出现Cannot open include file: postgres.h—— PGROOT 指错了或装的 Postgres 是不含开发文件的版本。用自检那节的 dir 命令看看哪个路径下真有这个头文件把 PGROOT 指过去。如果出现error C2196: case value 4 already used—— 架构不匹配说明你打开的是 x86 或其他不对的提示符。关掉改开 x64 提示符先跑nmake /F Makefile.win clean清掉旧产物再重新编译。如果链接阶段报unresolved external symbol float_to_shortest_decimal_bufn—— 你在 Postgres 17.0 到 17.2 之间这几个版本缺符号。升级 Postgres 到 17.3 及以上或改用其他版本pgvector 本身不用动。如果 install 那步报Access is denied—— 终端不是管理员身份。关掉以管理员身份重开重跑安装步骤。装好之后往哪走扩展只是入口接下来几个方向都离你的日常不远建近似索引。几千行直接 ORDER BY 没问题量大了必须上索引。仓库里有现成范例test/sql/hnsw_vector.sql 演示 HNSW分层可导航小世界图索引test/sql/ivfflat_vector.sql 演示 IVFFlat倒排文件索引。换距离算子。除了 L2 的-内积#、余弦、L1都支持把 ORDER BY 里的算子换掉就行。跑一遍官方回归测试。nmake /F Makefile.win installcheck会执行 test/sql/ 下的全套用例升级 Postgres 之后想验证环境没坏一条命令搞定。调编译优化。Makefile.win 默认带了/O2 /fp:fast让编译器自动向量化想固定指令集可以在 Makefile.win 的 OPTFLAGS 变量里加/arch:参数。刚才这 30 分钟你把一堆 C 源码变成了 Postgres 里的 vector.dll并用一条真实查询确认它活着。现在就可以建自己的向量表把最近邻搜索跑在真实数据上了。【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

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

较早相关资讯

最新相关资讯

NocoDB 自托管部署实战:Docker 快速起步、生产级 Auto-Upstall 与程序化接入 2026/9/5 17:08:49

NocoDB 自托管部署实战:Docker 快速起步、生产级 Auto-Upstall 与程序化接入

NocoDB 自托管部署实战:Docker 快速起步、生产级 Auto-Upstall 与程序化接入 【免费下载链接】nocodb 🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative 项目地址: https://gitcode.com/GitHub_Trending/no/nocodb …

阅读更多 →
OpenPhase V0.9:轻量级相场模拟的工业落地入口 2026/9/5 17:08:49

OpenPhase V0.9:轻量级相场模拟的工业落地入口

简介:OpenPhase.V0.9 是一款面向材料科学领域研究者与研究生的开源相场模拟软件,专注于金属材料中马氏体、贝氏体等固态相变过程的数值建模与动态演化分析,解决传统实验难以观测微观相界面迁移与多尺度耦合机制的难题。资源包共428个文件&…

阅读更多 →
基于Vue+SpringBoot+MySQL的超市管理系统全栈开发实战 2026/9/5 17:08:49

基于Vue+SpringBoot+MySQL的超市管理系统全栈开发实战

简介:这是一套面向计算机专业本科生的高分毕业设计级超市商品管理系统,采用VueSpringBootMySQL技术栈实现前后端分离架构,适用于毕设开发、课程设计及Java全栈实战学习。系统涵盖超市区域、货架、商品类型、商品档案四大核心模块,…

阅读更多 →
Czkawka:免费开源的磁盘清理工具,3 条命令找出重复文件、空目录和大文件 2026/9/5 17:08:49

Czkawka:免费开源的磁盘清理工具,3 条命令找出重复文件、空目录和大文件

Czkawka:免费开源的磁盘清理工具,3 条命令找出重复文件、空目录和大文件 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 如…

阅读更多 →
Faster Whisper:13 分钟录音 59 秒转完,显存省一半的 Whisper 语音识别加速方案 2026/9/5 17:08:49

Faster Whisper:13 分钟录音 59 秒转完,显存省一半的 Whisper 语音识别加速方案

Faster Whisper:13 分钟录音 59 秒转完,显存省一半的 Whisper 语音识别加速方案 【免费下载链接】faster-whisper Faster Whisper transcription with CTranslate2 项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper 转一段 13 分…

阅读更多 →
Claude文本水印验证API申请接入与批量检测实战指南 2026/9/5 17:05:48

Claude文本水印验证API申请接入与批量检测实战指南

Anthropic 开放 Claude 文本水印验证 API 的消息,这两天在内容检测圈子里讨论得不少。简单说,这是一套用于判断“某段文本是否由 Claude 生成”的官方接口,主要面向监管机构、媒体和研究机构开放。这类接口之所以重要,是因为 AI 生…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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