Postgresql9.1突然无法连接到服务器:没有到主机的路由
这个问题是昨晚我使用Adempiere时发生的。我的adempiere服务器崩溃,它暗示没有数据库,这一切都是突然发生的,我不知道为什么 所以我检查了netstat-nlp | grep5432,它显示如下Postgresql9.1突然无法连接到服务器:没有到主机的路由,postgresql,networking,Postgresql,Networking,这个问题是昨晚我使用Adempiere时发生的。我的adempiere服务器崩溃,它暗示没有数据库,这一切都是突然发生的,我不知道为什么 所以我检查了netstat-nlp | grep5432,它显示如下 tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN - tcp6 0 0 :::5432 :::*
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN -
tcp6 0 0 :::5432 :::* LISTEN -
unix 2 [ ACC ] STREAM LISTENING 150917 - /var/run/postgresql/.s.PGSQL.5432
我尝试了psql-U postgres-h localhost,它连接成功,但是当我尝试psql-U postgres-h 192.168.1.103时,它连接失败,显示如下:
psql: could not connect to server: No route to host
Is the server running on host "192.168.1.103" and accepting
TCP/IP connections on port 5432?
host all all 192.168.1.0/24 md5
listen_addresses='*'
然后我检查了pg_hba.conf和postgresql.conf,它们是正确的,如下所示:
psql: could not connect to server: No route to host
Is the server running on host "192.168.1.103" and accepting
TCP/IP connections on port 5432?
host all all 192.168.1.0/24 md5
listen_addresses='*'
所以我认为我的配置是正确的,我以前连接成功过,很可能现在无法连接,有人能帮我吗,谢谢?“没有到主机的路由”意味着可能是网络问题,首先ping 192.168.1.103;
如果工作正常,则单击“telnet 192.168.1.103 5432”查看端口是否正常
这不是pg_hba的问题。我在Centos 7上运行POstgres 9.5,也有同样的问题。从客户机,我可以ping和telnet到端口22。然后,我从客户机向端口5432执行了telnet,出现了以下错误
[pegusr@test ~]$ telnet 192.168.xx.x1 5432
Trying 192.168.56.111...
telnet: connect to address 192.168.xx.1x: No route to host
因为这是一个测试环境,所以我刚刚在DB服务器上禁用了firewalld
systemctl stop firewalld
从那以后,它一直在发挥作用。对于生产环境,请让系统管理员将防火墙规则从客户端添加到DB服务器的端口543x中
希望有帮助 您可能需要运行:
firewall-cmd --add-service=postgresql --permanent
这允许通过postgresql默认端口5432的Redhat\CentOS中的操作系统防火墙进行传入连接
参考是否有到主机的路线?当你ping 192.168.1.103
或者甚至尝试telnet到它上面的端口5432
时会发生什么?非常感谢,我刚刚ping 192.168.1.103,它失败了,所以我检查了我的ip,它变为192.168.1.101,我可以从这个地址连接到sql。我真傻,再次谢谢你!