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

Ubuntu 22.04 VPS上PostgreSQL 5432端口开放却连接失败求助

PostgreSQL启动失败排查与解决(Ubuntu 22.04)

核心问题出在pg_hba.conf的配置错误,加上后续重启流程、冗余配置的干扰,按以下步骤逐一解决:

1. 彻底修正pg_hba.conf的CIDR规则

  • 找到第106行的规则,绝对不能写149.XXX.XXX.XXX/5432——CIDR掩码只能是0-32的数字,和端口无关,正确格式是149.XXX.XXX.XXX/32
  • 执行命令确认修改后的内容:
    cat /etc/postgresql/14/main/pg_hba.conf | sed -n '106p'
    
    确保没有多余字符或格式错误

2. 先验证配置文件语法,再重启

直接重启可能忽略配置错误,先通过PostgreSQL自带工具检查:

sudo -u postgres psql -c "SELECT pg_check_hba_conf();"

如果输出pg_check_hba_conf说明配置合法,否则会明确指出错误行和问题,必须先修复所有语法问题

3. 强制重启PostgreSQL集群

systemctl is-active postgresql显示active但pg_lsclusters显示down,是因为systemd只监控服务进程,实际数据库集群没启动,用集群专用命令重启:

sudo pg_ctlcluster 14 main restart

重启后执行pg_lsclusters,确认状态为online

4. 删除冗余的PGOPTIONS配置

你添加的PGOPTIONS="-i"是PostgreSQL旧版本的参数,14版本已经用listen_addresses='*'代替,这个配置会干扰启动:

  • 编辑/etc/postgresql/14/main/environment和/etc/environment,删除PGOPTIONS="-i"这一行
  • 重启服务让配置生效

5. 验证端口和进程

集群启动后,执行以下命令确认:

  • 检查端口监听:ss -tulpn | grep 5432
  • 检查进程:ps aux | grep postgres

内容的提问来源于stack exchange,提问作者Stiofán

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:52:16