3 条 nmake 命令在 Windows 装好 pgvector:PostgreSQL 向量搜索扩展从编译到验证

发布时间:2026/11/5 14:22:32

3 条 nmake 命令在 Windows 装好 pgvector:PostgreSQL 向量搜索扩展从编译到验证 3 条 nmake 命令在 Windows 装好 pgvectorPostgreSQL 向量搜索扩展从编译到验证【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector你已有一套在跑的 PostgreSQL现在想不额外引入向量数据库就直接做语义搜索pgvector 就是为此设计的它把向量类型、距离函数和近似索引全部放进 Postgres 内部一次 SQL 即可完成向量搜索。在 Windows 上完成编译安装并不复杂只要编译器与开发文件就位核心步骤只有 3 条命令。pgvector 是什么、能干什么向量类型齐全vector单精度最高 2,000 维、halfvec半精度、bit二进制、sparsevec稀疏可按场景选存储格式距离度量完整L2 距离-、内积#、余弦距离、L1 距离二进制向量还有汉明与 Jaccard 距离精确 近似两套搜索小表可全表扫描做精确最近邻大表建 HNSW 或 IVFFlat 索引做高速近似搜索原生融入 SQL向量列和普通列一样参与 JOIN、过滤、事务任何带 Postgres 客户端的语言都能直接调用典型适用场景语义检索、RAG 问答、相似内容推荐、以图搜图等动手前的 Windows 准备清单工具作用验证方法x64 Native Tools Command Prompt for VS 2022提供 MSVC 编译器cl.exe与nmake运行cl能看到编译器版本号PostgreSQL 13含 Development Files提供头文件include\server与链接库postgres.libdir %PGROOT%\include\server\postgres.h能列出该文件PGROOT 环境变量被 Makefile.win 用来定位 Postgres 的 bin、lib、share 目录echo %PGROOT%打印出安装路径准备步骤按顺序执行安装 Visual Studio 2022工作负载勾选使用 C 的桌面开发安装 PostgreSQL组件里务必勾选 Development Files从开始菜单启动x64 Native Tools Command Prompt for VS 2022安装阶段建议以管理员身份运行拉取源码并进入目录cd %TEMP% git clone https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector从零到装好只需 3 条命令set PGROOTC:\Program Files\PostgreSQL\18用途告诉 nmake 你的 PostgreSQL 装在哪里。 版本号按你实际安装的目录修改可用echo %PGROOT%确认。 预期输出无输出命令静默完成。nmake /F Makefile.win用途编译 src 下全部 C 源码产出扩展动态库。 预期输出过程打印若干编译日志当前目录生成vector.dll。nmake /F Makefile.win install用途把vector.dll、vector.control及 SQL 脚本复制到 PostgreSQL 的 lib 与share\extension目录。 预期输出一串copy成功日志%PGROOT%\lib下出现vector.dll。用 2 段 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]), ([7,8,9]);第二段按 L2 距离排序查询最近邻SELECT id, embedding - [3,1,2] AS distance FROM items ORDER BY distance LIMIT 1;返回的是距离值最小即与查询向量[3,1,2]最接近的那一行说明向量搜索已生效换成即得到余弦距离排序。卡住了Windows 编译常见故障速查报错现象最可能原因一行处理办法PGROOT is not set新终端里 PGROOT 丢失或未设置重新执行set PGROOT...再编译Cannot open include file: postgres.hPGROOT 指错或 Postgres 没装 Development Filesdir %PGROOT%\include\server\postgres.h核对路径cl 不是内部或外部命令没有从 VS 命令提示符启动改用 x64 Native Tools Command Prompt 重进目录error C2196: case value 4 already used用了 x86 命令行导致架构不匹配换 x64 提示符先nmake /F Makefile.win clean再编译unresolved external symbol float_to_shortest_decimal_bufnPostgres 17.0–17.2 与源码链接库不兼容升级 PostgreSQL 到 17.3 及以上版本Access is denied无权限写入 Program Files 目录以管理员身份重开命令提示符执行 install装好之后你能做什么能力一为向量列建 HNSW 或 IVFFlat 索引百万级以上数据也能走索引快速返回 Top-K并可与 WHERE 条件混写做混合查询能力二用halfvec半精度或二进制向量压缩内存向量库越大收益越明显能力三向量检索结果直接参与 SQL 的 JOIN、聚合与事务不必在两套系统间搬数据编译优化示例Makefile.win 默认已带/O2 /fp:fast开启自动向量化若 CPU 支持 AVX2可在那一行的OPTFLAGS中追加/arch:AVX2提升向量运算吞吐。下一步建议跑一遍仓库自带回归测试nmake /F Makefile.win installcheck确认你的环境行为一致阅读 README.md 的 HNSW/IVFFlat 章节学会m、ef_construction、lists等参数调优【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/2 1:27:26

PLC程序设计规范实战:从变量命名到状态机调试

简介:《PLC程序设计规范》是一份面向自动化工程师、PLC程序设计与调试人员的作业标准文档,旨在解决程序结构混乱、安全隐患多、后期维护困难等问题。压缩包内共1个文件,为doc格式,整体约197KB,内容按条目逐一展开&…

2026/11/2 16:25:08

微信聊天记录怎么导出永久保存?WeChatMsg 完整使用指南

微信聊天记录怎么导出永久保存?WeChatMsg 完整使用指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCh…

2026/11/5 14:10:30

ADS122U04IPWR+STM32F427ZI工业级温度测量信号链设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 14:10:30

UART接口24位ADC搭配RS485,解决远距离温度监控难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 14:10:30

UART接口24位ADC搭配PIC18F46K22的RTD与热电偶测温实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 13:55:19

GD32E10x官方例程入门:从GPIO点灯到串口调试

简介:这份GD32E10x系列官方例程面向嵌入式硬件与单片机开发者,基于ARM Cortex-M3内核,汇集兆易创新GD32E10x的示例代码,适合工业控制、消费电子、通信设备等场景的学习、验证与二次开发。压缩包共935个文件,约11.16MB&…

2026/11/5 13:50:18

基于Django的运维平台实战:资产、发布、巡检、告警一体化

简介:这份资源是一套基于Django框架开发的运维平台源码,面向具备Python基础、希望了解Web运维系统实现思路的开发者与运维人员,可用于学习主机管理、服务监控、日志查看、任务调度、权限控制、资源统计、脚本执行与故障告警等常见运维模块的落…

2026/11/5 13:25:11

基于ADS122U04IPWR与STM32F427ZI的工业测温方案设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑