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

Windows系统PostgreSQL 14启动失败:端口占用排查遇阻求助

PostgreSQL 14 Windows启动端口绑定失败解决建议

核心误区纠正

netstat -na | find "5432"显示的是端口号,而非进程ID(PID),直接执行taskkill /pid 5432必然找不到目标进程,因为5432是端口标识,不是进程的唯一ID。


具体解决步骤

1. 定位占用5432端口的进程PID

执行以下命令,输出结果最后一列即为占用端口的进程PID:

netstat -ano | findstr ":5432"

示例输出:

TCP    0.0.0.0:5432           0.0.0.0:0              LISTENING       1234

其中1234就是需要终止的进程PID。

2. 强制终止占用端口的进程

将上述找到的PID替换到命令中执行:

taskkill /pid 1234 /f

3. 若进程无法终止,更换PostgreSQL启动端口

编辑PGDATA目录下的postgresql.conf文件:

  • 找到port = 5432行,修改为未被占用的端口(如5433)
  • 保存文件后重新启动服务:
pg_ctl -D PGDATA -l serverlog start

后续连接数据库时需指定新端口,例如:

psql -d my_database -p 5433

4. 排查权限问题

  • 右键命令提示符/终端,选择以管理员身份运行后再执行启动命令
  • 确认PGDATA目录权限,当前用户需拥有该目录的读写权限

5. 调整网络监听配置

编辑postgresql.conf:

  • 找到listen_addresses,设置为localhost(仅允许本地访问)或*(允许所有IP访问)
  • 同步检查pg_hba.conf文件,确保访问规则配置正确,避免因权限限制导致的绑定失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:25:24