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

Noa*_*ton 5 postgresql tcp azure azure-virtual-machine

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

postgresql.conf

listen_addresses = '*'
Run Code Online (Sandbox Code Playgroud)

pg_hba.conf

# IPv4 local connections:
host    all             all             0.0.0.0/0            md5
Run Code Online (Sandbox Code Playgroud)

防火墙

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

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

获取远程机器的IP

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

在此输入图像描述

来自本地计算机的 CMD

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

psql -U postgres -h 13.xx.xx.xx 
Run Code Online (Sandbox Code Playgroud)

错误信息。

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

我不知道还应该做什么。

Shu*_*bao 5

修改配置文件后,需要重新启动。你可以用来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
Run Code Online (Sandbox Code Playgroud)

看来是防火墙问题。您需要在 Azure NSG 上打开端口 5432。

在此输入图像描述

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

在此输入图像描述