PostgreSQL连接报错:无pg_hba.conf条目对应172.27.0.5求解决方案
解决PostgreSQL "no pg_hba.conf entry" 连接错误
这不是内部错误,完全是pg_hba.conf配置未授权目标主机连接导致的操作问题。
问题原因
你的auth模块运行在IP为172.27.0.5的主机/容器上,但当前pg_hba.conf仅允许本地回环地址(127.0.0.1/32、::1/128)的连接请求,没有匹配172.27.0.5的规则,因此PostgreSQL拒绝了该连接。
解决方案
修改pg_hba.conf配置文件
在文件中添加一条针对目标IP的授权规则,放在IPv4本地连接规则下方即可:# 允许172.27.0.5主机的hypex用户连接所有数据库,使用md5密码认证 host all hypex 172.27.0.5/32 md5如果auth模块所在的主机属于
172.27.0.0/24子网,也可以授权整个子网:host all hypex 172.27.0.0/24 md5重启PostgreSQL服务使配置生效
根据你的操作系统执行对应命令:- Ubuntu/Debian:
sudo systemctl restart postgresql - CentOS/RHEL(以PostgreSQL 15为例):
sudo systemctl restart postgresql-15 - Docker容器部署的PostgreSQL:
docker restart <postgres-container-name>
- Ubuntu/Debian:
验证连接
重启完成后,触发auth模块的数据库连接操作,确认错误不再出现。
额外注意事项
- 确保PostgreSQL监听地址已配置为允许外部连接(修改
postgresql.conf中的listen_addresses = '*',同样需重启服务)。 - 确认用户
hypex拥有访问Hyper数据库的权限,可通过PostgreSQL客户端执行:GRANT ALL PRIVILEGES ON DATABASE "Hyper" TO hypex;
内容的提问来源于stack exchange,提问作者Maciel
相关产品推荐
相关产品推荐

