news 2026/8/24 2:29:13

Windows下pgvector部署跑通记:让PostgreSQL向量扩展一次生效

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows下pgvector部署跑通记:让PostgreSQL向量扩展一次生效

Windows下pgvector部署跑通记:让PostgreSQL向量扩展一次生效

【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector

pgvector是PostgreSQL的开源向量搜索扩展,装好之后,embedding向量可以直接躺在普通表里,建个HNSW索引,一条SQL就能跑相似性查询,不用再维护一套独立向量库。这篇按Windows 10/11环境实操,把pgvector Windows部署的完整流程走一遍,从克隆源码到30秒验证,全程不超过一杯茶的时间。

部署前看一眼

开工前先核对四项配置,缺一项后面都会卡住:

项目要求说明
PostgreSQL14+(推荐16/18)装好即可,编译时要用它的头文件和库
Visual Studio2019+安装时务必勾选"C++ 桌面开发"工作负载
Windows SDK10.0.19041+随VS工具链一起装,别漏
Git任意较新版本拉源码用

三步装好

① 拉源码。打开终端,执行下面这段:

cd %TEMP% git clone --branch v0.8.1 https://gitcode.com/GitHub_Trending/pg/pgvector.git cd pgvector

源码放在临时目录下就行,装完不用管它。

② 把PGROOT指到你的PostgreSQL安装目录。Makefile.win靠这个环境变量定位头文件、库文件和安装目标,没设的话nmake会当场报错。同一会话里顺手把bin加进PATH:

set PGROOT=C:\Program Files\PostgreSQL\16 set PATH=%PGROOT%\bin;%PATH%

③ 终端切到VS的"x64 Native Tools Command Prompt"(换别的shell会缺SDK依赖),敲这两行就开始编译了:

nmake /F Makefile.win nmake /F Makefile.win install

泡杯咖啡的功夫它基本编完了。第二条命令会把vector.dll和SQL文件拷进PGROOT的对应目录,至此pgvector编译安装闭环完成。

装完30秒自检

连上数据库,执行这两句:

CREATE EXTENSION vector; SELECT vector_version();

第二条返回版本号,部署就算成了。跑一遍完整回归的话,命令行再补一行,它会把test/sql下的全部用例过一遍,类型转换、索引构建、距离函数都覆盖:

nmake /F Makefile.win installcheck

编译翻车急救包 ⚠️

终端突然变红别慌,九成问题在下面三行里:

现象原因解法
找不到crtdefs.h终端不对或VS缺SDK组件换VS x64 Native命令行,重装"C++ 生成工具"
PGROOT is not set环境变量没设或重开了终端当前会话里重新set PGROOT=...
C2196case value already used没在VS原生环境里编译切对命令行后nmake /F Makefile.win clean重编

能力速览

装完之后,这些东西随手可用:

类别选项备注
向量类型vector/halfvec/bit/sparsevec上限分别约2000 / 4000 / 64000维,稀疏向量专攻高维稀疏
距离算子<->L2、<#>内积(取负)、<=>余弦、<+>L1都能建索引加速
索引类型HNSW索引(图结构,查询快)、IVFFlat(构建快)多数场景默认选HNSW

调优速查

  • 建索引:数据灌完再建;调大maintenance_work_mem;大表开并行worker
  • 查询参数:HNSW用ef_search、IVFFlat用probes,调高换召回、调低换速度
  • 召回不达标时先确认索引选型——小表直接顺序扫描往往更稳

一句话收尾:pgvector Windows部署没有玄学,三步装完、两句验证、一轮测试,向量搜索就在你手边了。下一步:建张表把embedding灌进去,用ORDER BY embedding <-> '...'跑第一条查询试试手。

【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 2:29:10

从极大似然估计到交叉熵损失:分类模型损失函数原理与实战

1. 项目概述&#xff1a;从直觉到公式的深度关联在机器学习&#xff0c;尤其是分类模型的训练过程中&#xff0c;交叉熵损失&#xff08;Cross-Entropy Loss&#xff09;是一个你几乎无法绕开的核心概念。无论是图像识别、自然语言处理还是推荐系统&#xff0c;只要涉及到让模型…

作者头像 李华
网站建设 2026/8/24 2:28:47

QtPromise:告别回调地狱,用Promise优雅处理Qt异步编程

1. 项目引入&#xff1a;当Qt遇上Promise&#xff0c;告别“回调地狱”在C的GUI开发领域&#xff0c;Qt无疑是王者级别的存在。它提供了从界面到网络、从数据库到多线程的一整套成熟解决方案。然而&#xff0c;但凡写过稍微复杂一点的异步逻辑&#xff0c;比如一个需要串行执行…

作者头像 李华
网站建设 2026/8/24 2:28:27

2026前端开发全栈进阶指南与面试宝典

1. 前端学习笔记&#xff1a;从入门到进阶的全方位指南作为一名从业多年的前端开发者&#xff0c;我经常被问到"如何系统学习前端"这个问题。今天这份笔记将完整呈现我多年来总结的前端知识体系&#xff0c;包含从HTML/CSS基础到前沿框架的实战经验&#xff0c;特别针…

作者头像 李华
网站建设 2026/8/24 2:25:55

大模型领域推理能力提升:继续预训练实战指南

你有没有遇到过这种情况&#xff1a;手里有一个不错的开源大语言模型&#xff0c;比如 Llama 或者 Qwen&#xff0c;它在通用任务上表现尚可&#xff0c;但一遇到你专业领域里的术语、逻辑和问题&#xff0c;回答就开始“胡说八道”&#xff0c;或者干脆说“我不知道”&#xf…

作者头像 李华
网站建设 2026/8/24 2:25:09

Vue过滤器:从数据格式化到现代前端数据流处理

1. 从“数据格式化”说起&#xff1a;为什么我们需要过滤器&#xff1f;在任何一个前端项目里&#xff0c;我们都会遇到一个高频且琐碎的需求&#xff1a;数据展示前的“化妆”。比如&#xff0c;后端接口返回了一个时间戳1640995200000&#xff0c;你需要在页面上显示为“2021…

作者头像 李华