You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2012R2上PGAdmin 4启动失败:无法连接服务器

解决Windows Server 2012R2上PGAdmin4启动失败(SSL模块DLL加载错误)问题

问题背景

Windows Server 2012R2(Build 9600)环境下安装postgresql-12.14-1-windows-x64后,启动PGAdmin 4时弹出错误:The pgAdmin 4 server could not be contacted。已尝试单独安装不同版本PGAdmin 4、删除AppData\Local/AppData\Roaming下的PGAdmin目录、管理员身份运行等操作,均未解决。同系统其他机器可正常启动PGAdmin 4,PostgreSQL服务运行正常,局域网内可通过Telnet连通其端口。错误日志核心提示:导入ssl模块时DLL加载失败,且未显示ssl.py的完整路径。

解决方案

1. 修复PGAdmin自带Python的SSL依赖文件

PGAdmin 4依赖安装包自带的Python环境,SSL模块加载失败多因缺失关键DLL:

  • 定位PostgreSQL安装目录下的PGAdmin Python路径,默认路径为:C:\Program Files\PostgreSQL\12\pgAdmin 4\python
  • 进入该路径下的DLLs目录,确认存在libssl-1_1-x64.dll和libcrypto-1_1-x64.dll
    • 若缺失,从同版本正常运行的机器复制这两个文件到该目录,或重新运行PostgreSQL安装包选择“修复”选项
  • 将上述Python路径添加到系统PATH环境变量的最前端,避免与其他Python环境冲突

2. 手动指定Python模块搜索路径

针对日志中ssl.py路径不完整的问题,可通过快捷方式参数强制指定路径:

  • 右键PGAdmin 4快捷方式 → 选择“属性”
  • 在“目标”栏末尾添加以下参数(替换为实际的PGAdmin Python Lib路径):
    -c "import sys; sys.path.append('C:\\Program Files\\PostgreSQL\\12\\pgAdmin 4\\python\\Lib'); exec(open('C:\\Program Files\\PostgreSQL\\12\\pgAdmin 4\\web\\pgAdmin4.py').read())"
    
  • 注意:原目标路径需用引号包裹,示例完整目标内容:
    "C:\Program Files\PostgreSQL\12\pgAdmin 4\python\pythonw.exe" -c "import sys; sys.path.append('C:\\Program Files\\PostgreSQL\\12\\pgAdmin 4\\python\\Lib'); exec(open('C:\\Program Files\\PostgreSQL\\12\\pgAdmin 4\\web\\pgAdmin4.py').read())"
    

3. 安装对应版本的Visual C++运行库

SSL相关DLL依赖Visual C++ Redistributable,Windows Server 2012R2可能缺少该组件:

  • 安装Microsoft Visual C++ 2017 Redistributable(x64版本)
  • 重启系统后再次启动PGAdmin 4

4. 排查系统环境变量冲突

若系统中存在其他Python环境或SSL相关DLL,可能导致路径优先级冲突:

  • 临时移除系统PATH中其他Python相关的路径条目
  • 重启机器后启动PGAdmin 4,若恢复正常则逐步添加路径,定位冲突项并调整顺序

内容的提问来源于stack exchange,提问作者pvntim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:10:26