psql:无法连接到服务器:连接被拒绝

时间:2021-02-13 06:20:05

标签: postgresql

我可以访问远程 postgesql psql -h xxx.xxx.xxx.xxx -p 1486 postgres

显示这个错误

psql: could not connect to server: Connection refused
Is the server running on host "xxx.xxx.xxx.xxx" and accepting
TCP/IP connections on port 1486?

postgresql.conf 文件

listen_addresses = '*'

pg_hba.conf 文件

host    all             all             0.0.0.0/0          md5

同时申请开放的1486端口

iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d X.X.X.X  --dport 1486 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s X.X.X.X --sport 1486 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

返回同样的错误。

1 个答案:

答案 0 :(得分:0)

很难给出规范的答案,但可以尝试以下几点(其中一些可能不适用/可能):

  • Ping 有问题的 IP 地址 - 服务器是否已启动/可访问?盒子上还有其他服务可以联系到吗?
  • 从服务器本身的本地连接进行连接,假设您有控制台或 ssh 访问权限
  • 如果您具有本地访问权限并且基于网络的访问不起作用,是否允许 unix 域套接字访问,如果允许,是否有效?
  • 检查 postgresql.conf 中的端口配置 - 真的是您认为的位置吗?
  • 自上次服务器重启以来,配置文件是否被编辑过?您列出的参数都需要重新启动服务器才能生效。
  • 它实际上使用了您认为的配置文件吗?运行“显示配置文件;”如果您可以建立本地连接,超级用户会有所帮助
  • 您使用 telnet 1486 会发生什么情况?您是否遇到网络连接或类似错误?
  • 获取 pcap 并检查网络级别发生的情况(wireshark 或 tcpdump 会有所帮助)