资讯动态

Windows 安装 pgvector:预编译与源码编译两条路线怎么挑

发布时间:2026/9/6 17:22:57 来源:尧图企业网站定制
Windows 安装 pgvector预编译与源码编译两条路线怎么挑【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector这篇讲 Windows 安装 pgvector 的完整做法先帮你判断走预编译还是源码编译再给关键步骤最后用一段最小 SQL 验证装没装对。你装 PostgreSQL 的机器上有 C 工具链就都能做。先选路预编译包 vs 源码编译两条路最终效果一样差别只在门槛和可控程度。先看这张表再动手维度预编译包源码编译上手门槛低拷文件即可需装 Visual Studio 的 C 组件耗时几分钟515 分钟版本选择取决于包发布方可指定任意 tag适合人群生产库、日常开发需要特定版本或自定义编译选项拿不准就选预编译包只有当包里没有你要的版本、或你需要改编译参数时才走源码路线。无论哪条路注意版本对齐pgvector 0.8.6 支持 PostgreSQL 13 及以上版本Postgres 主版本越新越好太老会缺头文件。路线 A预编译包部署步骤从包发布方拿到 Windows 版 pgvector 预编译包确认对应你的 Postgres 大版本然后做四件事把vector.dll复制到 PostgreSQL 安装目录下的lib目录把vector.control和所有vector--*.sql脚本复制到share\extension目录重启 PostgreSQL 服务让新文件被加载进数据库执行验证 SQL见下文lib里放动态库share\extension放控制文件和初始化脚本这是 Postgres 扩展的固定约定放错目录扩展就建不出来。路线 Bpgvector 源码编译nmake前提Visual Studio 装好使用 C 的桌面开发组件。所有命令都在以管理员身份打开的x64 Native Tools Command Prompt for VS里执行。:: 告诉 Makefile 你的 PostgreSQL 装在哪版本目录换成你的实际版本 set PGROOTC:\Program Files\PostgreSQL\16 cd %TEMP% :: 拉取源码tag 换成你要的版本 git clone --branch v0.8.6 https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector :: 编译产物是 vector.dll nmake /F Makefile.win :: 安装把 dll、control 和 sql 文件拷进 PGROOT nmake /F Makefile.win install安装步骤会自动把vector.dll写入PGROOT\lib把vector.control和各版本升级脚本写入PGROOT\share\extension顺带把编译用头文件放到include\server\extension\vector。你可以对照仓库里的 Makefile.win 检查 install 目标拷了哪些文件。验证安装一段最小向量 SQL在任意数据库里跑下面这段确认扩展能建、向量列能存、距离能算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;成功的标志四条语句都不报错且最后一行查询返回两行id 1 排在 id 2 前面[1,2,3]离查询向量更近。如果只回一行或顺序反了说明数据没插对先别查性能问题。验证通过后hnsw 索引怎么建一条语句即可m和ef_construction是建索引时的连接密度与候选集参数CREATE INDEX ON items USING hnsw (embedding vector_l2_ops) WITH (m 16, ef_construction 64);常见报错速查现象原因解法could not open extension control file.control或.sql没放进share\extension核对目录文件齐全后重试could not load library vector.dlldll 不在lib或 32/64 位不匹配确认 dll 与 Postgres 同架构都用 x64nmake 提示PGROOT is not set没设环境变量就跑了 nmake先执行set PGROOT...再编译编译报找不到 C/C 编译器VS 缺 C 工作负载安装使用 C 的桌面开发后重开 x64 工具命令提示符建索引慢、查询没走索引没建 hnsw/ivfflat 索引或参数偏小按上面语句建索引调大m与ef_construction下一步装好之后把真实维度的向量灌进去用ORDER BY embedding - ...量一遍召回率再决定索引参数怎么调。【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价