Win10搭配PostgreSQL14.4配置pgAdmin4报OSError10013致命错误
问题定位
日志中WebSocket transport not available为无关性能警告,不影响程序正常启动,核心故障为OSError 10013:程序尝试绑定监听端口时被系统拦截,通常由默认端口被占用、端口被划入系统保留范围、防火墙拦截导致,卸载重装不会修改系统层面的端口、防火墙规则,因此无法解决问题。
修复方案
按优先级依次尝试,每步操作后重新启动pgAdmin4验证:
1. 修改pgAdmin默认监听端口(成功率最高)
pgAdmin默认使用5050端口作为本地服务监听端口,这个端口很容易被其他程序占用或者被系统Hyper-V、WSL等服务划入保留端口段:
- 进入pgAdmin安装目录下的
web文件夹,默认路径为C:\Program Files\pgAdmin 4\对应版本号\web\ - 不要直接修改目录内自带的
config.py(后续版本升级会被覆盖),在同目录新建名为config_local.py的文件,写入以下配置:
# 自定义监听端口,可自行替换为5051、5888等未被占用的端口 DEFAULT_SERVER_PORT = 5051
- 保存文件后重启pgAdmin即可。
2. 排查端口占用与系统保留规则
如果修改端口后仍报错,以管理员身份打开命令提示符执行排查:
- 查看系统当前TCP保留/排除的端口范围,你设置的pgAdmin端口不能落在这些区间内:
netsh interface ipv4 show excludedportrange protocol=tcp
- 检查目标端口是否被其他进程占用,将命令里的5051替换为你设置的端口号:
netstat -ano | findstr :5051
- 如果命令返回结果,最后一列数字为占用进程的PID,打开任务管理器的「详细信息」面板,找到对应PID的进程,关闭占用程序后重试,或者给pgAdmin换其他端口。
3. 放行防火墙权限
- 打开Windows Defender防火墙的「允许应用通过防火墙」设置页
- 在应用列表中找到pgAdmin4,勾选其「专用」「公用」网络的访问权限;如果列表中找不到,手动选择pgAdmin的启动程序添加规则
- 保存设置后重启程序。
补充说明:开头的WebSocket警告无需额外处理,仅会轻微影响实时日志刷新的性能,不影响数据库连接、SQL编辑、数据管理等核心功能使用。
内容的提问来源于stack exchange,提问作者Surbhi Rathi
相关产品推荐
相关产品推荐

