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

无法连接远程PostgreSQL数据库:pg_hba.conf配置异常排查

PostgreSQL远程连接失败原因排查与解决

问题原因分析

从报错信息和提供的pg_hba.conf配置来看,核心问题是PostgreSQL服务未加载最新的pg_hba.conf配置。虽然配置文件中已经添加了允许10.10.99.3主机的eprt_admin用户连接的规则,但服务并未读取到该规则,导致连接请求被拒绝。

报错中同时出现SSL加密和无加密两种失败情况,是因为客户端尝试了两种连接方式,但均未匹配到有效配置条目,本质还是配置未生效导致的。

解决办法

1. 重载或重启PostgreSQL服务

修改pg_hba.conf后,必须让PostgreSQL重新加载配置才能生效:

  • 重载配置(无需重启服务,推荐):
    # 适用于systemd管理的系统
    sudo systemctl reload postgresql
    # 或使用pg_ctl工具(需指定数据目录,替换<版本号>为实际版本)
    pg_ctl reload -D /var/lib/postgresql/<版本号>/main
    
  • 若重载无效,直接重启服务:
    sudo systemctl restart postgresql
    

2. 验证配置条目正确性

确认pg_hba.conf中的规则格式无误:
当前配置中的条目:

host    all         eprt_admin  10.10.99.3/32       md5

该规则是正确的,含义为:允许来自10.10.99.3的eprt_admin用户,通过TCP连接访问所有数据库,使用MD5密码认证。

3. 检查SSL相关配置(可选)

如果客户端强制要求SSL连接,可将对应规则改为hostssl(需确保服务器已启用SSL):

hostssl    all         eprt_admin  10.10.99.3/32       md5

同时需要在postgresql.conf中设置ssl = on,修改后重启服务生效。

4. 测试连接

配置生效后,重新执行连接命令验证:

psql -h 10.10.99.1 -p 5432 -U eprt_admin -d postgresql

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:12:13