首先修改postgresql.conf中listen_addresses为’*’或指定IP并确保端口正确,然后在pg_hba.conf添加远程访问规则如host all all 0.0.0.0/0 md5,接着配置防火墙放行5432端口并重启PostgreSQL服务。

PostgreSQL默认只允许本地连接,要实现远程访问需要调整配置。问题通常出在三个方面:监听地址、用户权限和防火墙设置。下面一步步说明如何解决。
1. 修改 postgresql.conf 配置文件
找到PostgreSQL安装目录下的 postgresql.conf 文件(通常位于 /etc/postgresql/[版本号]/main/ 或 /var/lib/pgsql/data/),修改以下参数:
listen_addresses:改为可接受远程连接的IP或全部地址
listen_addresses = ‘*’ # 监听所有IP
或指定具体IP:
listen_addresses = ‘localhost,192.168.1.100’port:确保端口正确(默认5432)
port = 5432
2. 配置客户端认证 pg_hba.conf
编辑 pg_hba.conf 文件,添加允许远程访问的规则。
在文件末尾加入类似以下内容:
允许某个IP通过密码连接:
host all all 192.168.1.50/32 md5允许一个网段访问:
host all all 192.168.1.0/24 md5允许所有IP(注意安全风险):
host all all 0.0.0.0/0 md5
其中 md5 表示使用密码验证方式。
SciMaster
全球首个通用型科研AI智能体
156 查看详情
3. 检查防火墙设置
确保系统防火墙放行PostgreSQL端口(默认5432)。
如果是 ufw(Ubuntu):
sudo ufw allow 5432如果是 firewalld(CentOS/RHEL):
sudo firewall-cmd –add-port=5432/tcp –permanent
sudo firewall-cmd –reload云服务器还需检查安全组规则,开放对应端口。
4. 重启 PostgreSQL 服务
修改完成后重启服务使配置生效。
Ubuntu/Debian:
sudo systemctl restart postgresqlCentOS/RHEL:
sudo systemctl restart postgresql-xx # xx为版本号
测试远程连接时,使用psql命令或数据库工具从另一台机器尝试登录。
基本上就这些。只要配置文件改对了,防火墙开了,一般都能连上。注意别忘了重启服务。
以上就是postgresql无法远程连接怎么解决的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1087430.html
微信扫一扫
支付宝扫一扫