pgvector Windows 编译安装:30 分钟一次通过

发布时间:2026/11/10 11:26:38
pgvector Windows 编译安装:30 分钟一次通过 pgvector Windows 编译安装30 分钟一次通过【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector上次在 Windows 上编译 pgvector你卡在哪一步——PGROOT、cl.exe还是 vector.dll 链不出来pgvector 是 PostgreSQL 的向量相似性搜索扩展向量与关系型数据同库存放支持精确和近似最近邻搜索。这篇指南带你走一遍 pgvector Windows 编译安装的完整路径四步走完装完即验。开工前核对清单先核对这四项没通过就补通过才动手——大部分报错都是前置条件缺位前置项验证命令不通过怎么办MSVC 编译器cl输出版本号VS 安装器补选使用 C 的桌面开发工作负载和对应 Windows SDKPG 开发文件dir %PGROOT%\include\server\postgres.h能列出文件重装 PostgreSQL 13安装时勾选 Development FilesPGROOT 环境变量echo %PGROOT%输出 PG 根目录在命令行里手动设置下节给命令路径别含中文管理员权限whoami显示 administrators以管理员身份重开x64 Native Tools Command Prompt for VS 2022两点提醒验证必须在同一个命令提示符窗口里做新开窗口环境变量就没了如果 PGROOT 还没设置先到下一节执行 set再回来核对本表。编译主流程准备拉取源码cd %TEMP% git clone --branch v0.8.6 https://gitcode.com/GitHub_Trending/pg/pgvector.git cd pgvector克隆到 %TEMP% 是为了绕开带空格和中文的路径nmake 对这种路径不友好。锁定 v0.8.6 分支和 vector.control 里的版本号一致编译产物与扩展脚本的版本天然对齐。没装 git 也行下载对应版本的压缩包解压效果一样。配置把 PGROOT 指到 PG 安装目录set PGROOTC:\Program Files\PostgreSQL\16 dir %PGROOT%\include\server\postgres.hMakefile.win 靠 PGROOT 统一找到 include/ 头文件和 lib/postgres.lib不设它 nmake 直接报PGROOT is not set一步都不会跑。第二行确认开发文件真实存在路径里的版本号换成你实际安装的版本。构建nmake 编译出 vector.dllnmake /F Makefile.win把 src/ 下的 18 个 C 文件逐个编成 .obj最后链成 vector.dll。Makefile 默认带了 /O2 /fp:fast用来开 MSVC 自动向量化想再压榨点性能可以在 Makefile.win 的 OPTFLAGS 里追加 /arch:AVX2。正常输出是每个 .c 文件一行cl.exe ...整机耗时一两分钟。中途报错的话九成是上一步环境的问题回去重核对清单。落库把产物放进 PG 目录nmake /F Makefile.win install一条命令把产物归位vector.dll 进 %PGROOT%\libvector.control 和各版本 .sql 进 %PGROOT%\share\extension。不用重启数据库PG 服务按需加载共享库。从旧版本升级也没额外动作升级脚本一并拷过去了ALTER EXTENSION vector UPDATE直接跑。30 秒验证打开 psql 连上目标库CREATE EXTENSION vector; CREATE TABLE test_vectors ( id bigserial PRIMARY KEY, embedding vector(3) ); INSERT INTO test_vectors (embedding) VALUES ([1.0, 2.0, 3.0]), ([4.0, 5.0, 6.0]), ([7.0, 8.0, 9.0]); SELECT id, embedding - [3.0, 2.0, 1.0] AS l2 FROM test_vectors ORDER BY l2 LIMIT 1;最后一条查询返回 id 1[3,2,1] 的 L2 最近邻是 [1,2,3]说明安装已生效。-是 L2、是余弦、#是内积都随扩展自带。高频卡点速查现象根因修复nmake: cl 不是内部或外部命令用的是普通 cmd不是 VS 工具命令提示符PATH 里没有 cl.exe重开x64 Native Tools Command Prompt或先在当前窗口call一下 vcvars64.batfatal error C1083: 找不到包含文件 postgres.hPGROOT 设了但指错地方版本号拼错或指向了没装 include 的实例重新set PGROOT...用dir %PGROOT%\include\server\postgres.h复核文件不在就重装 PG 勾上开发文件CREATE EXTENSION报could not open file ...vector--0.8.6.sqlpsql 连的实例不是你装包的那个 PG机器上两套 PG或端口被旧实例占着执行SELECT setting FROM pg_settings WHERE namedata_directory;与 %PGROOT%\data 比对不一致就连对端口其余报错基本逃不出这三类PATH 问题、路径问题、连错实例。装完之后pgvector 的价值在于向量检索与关系型查询同库运行-旁边照样写 JOIN用 WHERE 过滤业务字段。验证通过之后下一步就是建 HNSW 索引调m和ef_search在召回率和延迟之间做取舍。【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询