问题:psql:无法连接到服务器...服务器是否在主机上运行...并接受端口 5432 上的 TCP/IP 连接?

我知道这是一个流行的问题。我已经尝试了类似线程中建议的所有内容。我正在尝试远程连接到 azure windows server 2012 机器上的 postgresql 数据库。我尝试了以下...

postgresql.conf

listen_addresses = '*'

pg_hba.conf

# IPv4 local connections:
host    all             all             0.0.0.0/0            md5

防火墙

新入站规则(防火墙)协议和端口 > 协议类型 > TCP

本地端口 > 5432 远程端口 > 全部

获取远程机器的IP

我从 azure 仪表板复制,也如远程桌面连接顶部所示

在此处输入图像描述

来自本地计算机的 CMD

然后从本地机器尝试以下。

psql -U postgres -h 13.xx.xx.xx 

错误信息。

psql: 无法连接到服务器:连接超时 (0x0000274C/10060) 服务器是否在主机“13.xx.xx.xx”上运行并接受端口 5432 上的 TCP/IP 连接?

我不确定还应该做什么。

解答

修改配置文件后,需要重启。您可以使用netstat -ant|findstr 5432来检查它。它应该像下面这样听:

C:\Users\shui>netstat -ant|findstr 5432
  TCP    0.0.0.0:5432           0.0.0.0:0              LISTENING       InHost
  TCP    [::]:5432              [::]:0                 LISTENING       InHost

这似乎是一个防火墙问题。您需要在 Azure NSG 上打开端口 5432。

在此处输入图像描述

我在我的实验室测试,它对我有用。

在此处输入图像描述

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐