Windows 11下PostgreSQL 17安装pgvector扩展失败求助
PostgreSQL 17 Windows环境下pgvector扩展安装疑难求助
已尝试操作清单
- 测试谷歌、StackOverflow前20种公开解决方案,均无效
- 确认
make、cl已加入系统环境变量,终端可正常调用 - 按指引安装WSL
- 安装带C++开发工具的VS Code
各阶段报错详情
1. 直接使用make编译时的错误
在管理员PowerShell进入pgvector克隆目录执行make命令,输出部分编译日志后触发错误:
trapping-math' bitutils.c C:\Program Files\PostgreSQL\17\include\server\c.h(75): fatal error C1083: Cannot open include file: 'libintl.h': No such file or directory make: *** [: src/bitutils.o] Error 2
2. Docker镜像方案的问题
尝试通过Docker镜像部署,执行make时仍出现类似libintl.h文件缺失的错误
3. VS BuildTools环境初始化失败
尝试执行命令初始化编译环境:
"C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64
但系统不存在对应VC目录
4. psql启用扩展时的错误
执行扩展启用命令后,psql返回:
ERROR: extension "pgvector" is not available DETAIL: Could not open extension control file "C:/Program Files/PostgreSQL/17/share/extension/pgvector.control": No such file or directory. HINT: The extension must first be installed on the system where PostgreSQL is running.
5. nmake编译安装的权限错误
按pgvector官方文档指引,进入C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build初始化x64环境后,克隆新的pgvector仓库执行:
nmake /F Makefile.win install
触发权限错误:
C:\Users\rohit\AppData\Local\Temp\pgvector>nmake /F Makefile.win install Microsoft (R) Program Maintenance Utility Version 14.43.34808.0 Copyright (C) Microsoft Corporation. All rights reserved. copy vector.dll "C:\Program Files\PostgreSQL\17\lib" Access is denied. 0 file(s) copied. NMAKE : fatal error U1077: 'copy vector.dll "C:\Program Files\PostgreSQL\17\lib"' : return code '0x1' Stop.
注:即使以管理员身份运行PowerShell或VS Code终端,该权限错误仍无法解决
6. 再次执行nmake的编译错误
后续重新执行nmake /F Makefile.win install,出现case值重复错误:
C:\pgvector>nmake /F Makefile.win install Microsoft (R) Program Maintenance Utility Version 14.43.34808.0 Copyright (C) Microsoft Corporation. All rights reserved. cl /nologo /I"C:\Program Files\PostgreSQL\17\include\server\port\win32_msvc" /I"C:\Program Files\PostgreSQL\17\include\server\port\win32" /I"C:\Program Files\PostgreSQL\17\include\server" /I"C:\Program Files\PostgreSQL\17\include" /O2 /fp:fast /c src\hnsw.c /Fosrc\hnsw.obj hnsw.c C:\Program Files\PostgreSQL\17\include\server\access/tupmacs.h(65): error C2196: case value '4' already used C:\Program Files\PostgreSQL\17\include\server\access/tupmacs.h(197): error C2196: case value '4' already used NMAKE : fatal error U1077: 'cl /nologo /I"C:\Program Files\PostgreSQL\17\include\server\port\win32_msvc" /I"C:\Program Files\PostgreSQL\17\include\server\port\win32" /I"C:\Program Files\PostgreSQL\17\include\server" /I"C:\Program Files\PostgreSQL\17\include" /O2 /fp:fast /c src\hnsw.c /Fosrc\hnsw.obj' : return code '0x2' Stop.
后续无效操作
重启PostgreSQL服务及系统后,psql仍无法识别pgvector扩展。
Windows下安装PostgreSQL扩展的复杂度远高于Unix/Mac环境,已耗时2天仍未解决,求可行的pgvector安装方案。
内容的提问来源于stack exchange,提问作者Rohit Kumar
相关产品推荐
相关产品推荐

