作者:瀚高PG实验室 (Highgo PG Lab)- 天蝎座
一般我们遇到这个问题的时候都是连接远程主机的时候,会出现这个报错
psql: could not connect to server: connection refused
Is the server running on host "192.168.11.70" and accepting
TCP/IP connections on port 5432?
psql: could not connect to server:No route to host
Is the server running on host "192.168.11.70" and accepting
TCP/IP connections on port 5432?
问题一般是以下原因造成的,可检查后进行修改。
1.服务器有没有起来,ps -ef|grep postgres查看是否存在pg进程
2.监听问题:
cat $PGDATA/postgresql.conf | grep listen
cat $PGDATA/postgresql.auto.conf | grep listen
查看监听地址或者端口是否正确
3.端口问题:
cat postgresql.conf | grep port
cat postgresql.auto.conf | grep port
查看端口是否正确
4.服务器端能连进去,用客户端或其他数据库去远程连接连不上,这时需要查看pg_hba.conf文件是否修改正确。
5.检查服务器端的iptables(service iptables status),如果没关闭请关闭防火墙,建议把防火墙设置为开机不启动
上面两种报错还是有区别的:
“Connection refused”是目标主机明确拒绝了这次连接,有可能是该端口没有启动监听,或者因为防火墙。
“No route to host”则可能是一个网络问题,不是目标主机的回复。