
个人主页编程的一拳超人⛺️ 欢迎关注点赞 留言 收藏 于高山之巅方见大河奔涌于群峰之上更觉长风浩荡。 ——《人民日报》Windows 环境 PostgreSQL 18 安装与 pgvector 向量扩展部署文档一、环境说明项说明操作系统Windows 10 / Windows 11 64 位PostgreSQL 版本18.x本文以 18.4 正式版为例pgvector 版本v0.8.2兼容 PostgreSQL 18 的最低版本为 0.8.0安装根路径D:\develop_tools\PostgreSQL依赖说明源码编译方式需提前安装 Visual Studio 2022勾选「使用 C 的桌面开发」工作负荷二、PostgreSQL 18 安装2.1 下载安装包访问 PostgreSQL 官方下载页进入 Windows 安装程序专区找到 EDB 官方认证的安装包入口。进入 EDB 发行版下载列表后找到PostgreSQL 18.4版本行点击对应Windows x86-64列的下载按钮获取 64 位官方交互式安装包。在这里插入图片描述2.2 安装步骤右键运行下载的安装程序点击「Next」进入安装向导。选择安装目录修改为D:\develop_tools\PostgreSQL点击「Next」。选择组件保持默认勾选PostgreSQL Server、pgAdmin 4、Stack Builder、Command Line Tools点击「Next」。设置数据目录可保持默认D:\develop_tools\PostgreSQL\data点击「Next」。设置超级用户密码设置postgres管理员账号的密码务必牢记点击「Next」。设置端口默认 5432无特殊需求不修改点击「Next」。设置区域语言默认即可点击「Next」→ 点击「Next」开始安装。安装完成后取消勾选「Launch Stack Builder」点击「Finish」结束。2.3 安装验证安装完成后D:\develop_tools\PostgreSQL根目录结构如下包含运行所需的全部核心目录可通过命令行进一步验证版本打开 Windows 命令提示符进入 PostgreSQL 命令目录cd D:\develop_tools\PostgreSQL\bin psql --version正常输出版本号psql (PostgreSQL) 18.4即安装成功。打开 Windows 服务列表services.msc确认postgresql-x64-18服务处于「正在运行」状态。三、数据库初始化与基础配置3.1 服务管理启动服务net start postgresql-x64-18停止服务net stop postgresql-x64-18也可通过 Windows 服务面板图形化管理。3.2 首次连接数据库方式1pgAdmin 4 图形化连接从开始菜单或安装目录下的pgAdmin 4文件夹启动程序首次打开设置主密码。左侧服务器列表中默认已创建本地实例点击后输入postgres账号密码即可连接。方式2psql 命令行连接cd D:\develop_tools\PostgreSQL\bin psql -U postgres输入密码后进入 SQL 交互终端出现postgres#提示符即连接成功。3.3 创建业务数据库在 psql 或 pgAdmin 查询窗口执行以下 SQL创建专门用于向量业务的数据库-- 创建向量数据库CREATEDATABASEvectordb;-- 切换到目标数据库psql 命令行专用\c vectordb四、pgvector 向量扩展安装重要说明pgvector 为第三方开源向量扩展PostgreSQL 官方 Stack Builder 默认未收录无法通过 Stack Builder 一键安装。Stack Builder 程序位于安装目录的bin文件夹中文件名为stackbuilder.exe打开后展开「Spatial Extensions」分类可以看到仅内置 PostGIS 空间扩展没有 pgvector 向量扩展因此无法通过该工具直接安装以下提供两种适配 Windows 环境的部署方案。方案一源码编译安装推荐前置条件已安装 Visual Studio 2022Community/Professional 均可且勾选「使用 C 的桌面开发」工作负荷。可在系统程序列表中确认安装状态操作步骤在开始菜单搜索「x64 Native Tools Command Prompt for VS 2022」右键选择「以管理员身份运行」。设置 PostgreSQL 安装路径环境变量set PGROOTD:\develop_tools\PostgreSQL拉取 pgvector 稳定版源码cd %TEMP% git clone --branch v0.8.2 https://github.com/pgvector/pgvector.git cd pgvector编译并自动安装:: 编译64位版本 nmake /F Makefile.win :: 自动部署到 PostgreSQL 对应目录 nmake /F Makefile.win install部署完成后可在以下路径确认文件动态库D:\develop_tools\PostgreSQL\lib\vector.dll扩展文件D:\develop_tools\PostgreSQL\share\extension\vector.control安装脚本D:\develop_tools\PostgreSQL\share\extension\vector--0.8.2.sql方案二手动部署预编译包无需编译快速上手适用于未安装 Visual Studio 的场景直接将编译好的文件复制到对应目录。下载匹配PostgreSQL 18 Windows x64的 pgvector 预编译包版本必须 ≥ 0.8.0。解压后得到 3 个核心文件vector.dll、vector.control、vector--0.8.2.sql。按以下路径复制文件将vector.dll复制到D:\develop_tools\PostgreSQL\lib\目录将vector.control和vector--0.8.2.sql复制到D:\develop_tools\PostgreSQL\share\extension\目录五、扩展启用与功能验证5.1 启用向量扩展pgvector 为数据库级扩展每个需要使用向量功能的数据库都需要单独执行启用操作。-- 切换到目标数据库如 vectordb\c vectordb-- 启用向量扩展CREATEEXTENSIONIFNOTEXISTSvector;5.2 验证安装执行以下 SQL 查看扩展版本SELECTextname,extversionFROMpg_extensionWHEREextnamevector;返回结果包含vector与版本号0.8.2即安装启用成功。5.3 基础使用示例1. 创建带向量字段的表CREATETABLEdocuments(id bigserialPRIMARYKEY,contenttext,embedding vector(3)-- 括号内为向量维度需与嵌入模型输出维度一致);2. 插入向量数据INSERTINTOdocuments(content,embedding)VALUES(技术文档A,[1, 2, 3]),(技术文档B,[2, 3, 4]),(产品文档C,[0, 1, 2]);3. 向量相似度查询-- 欧氏距离查询返回与目标向量最相似的前 2 条SELECTid,content,embedding-[1,2,3]ASdistanceFROMdocumentsORDERBYdistanceLIMIT2;-- 其他距离算子-- # 负内积距离-- 余弦距离4. 创建向量索引数据量 1 万条时推荐-- HNSW 索引高性能、高精度生产环境推荐CREATEINDEXONdocumentsUSINGhnsw(embedding vector_l2_ops);-- IVFFlat 索引内存占用小、构建快适合中等数据量CREATEINDEXONdocumentsUSINGivfflat(embedding vector_l2_ops)WITH(lists100);六、常见问题排查Stack Builder 中找不到 pgvector属于正常现象pgvector 未纳入 EDB 官方 Stack Builder 软件源请使用本文的源码编译或手动部署方案。执行CREATE EXTENSION报错「could not access file “vector”」检查vector.dll是否放入正确的lib目录确认 pgvector 版本与 PostgreSQL 18 匹配必须 ≥0.8.0。源码编译报错确认使用的是「x64 Native Tools Command Prompt」而非普通 cmd。确认PGROOT路径与实际安装路径完全一致。必须以管理员身份运行命令行避免权限不足导致写入失败。索引构建缓慢或失败构建索引前临时调大维护内存参数SETmaintenance_work_mem256MB;七、核心注意事项版本强匹配仅 pgvector 0.8.0 及以上版本支持 PostgreSQL 18低版本会加载失败。扩展作用域pgvector 是数据库级扩展新建数据库需重新执行CREATE EXTENSION。无需预加载pgvector 不需要修改postgresql.conf的shared_preload_libraries参数安装后直接启用即可使用。