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

时间:2018-01-13 16:45:13

标签: postgresql azure tcp azure-virtual-machine

我知道这是一个很受欢迎的问题。我尝试了类似threads中建议的所有内容。我试图远程连接到天蓝色的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仪表板复制,也如远程桌面连接顶部所示

enter image description here

来自本地计算机的CMD

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

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

错误消息。

  

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

我不确定还应该做些什么。

1 个答案:

答案 0 :(得分:1)

修改配置文件后,需要重新启动它。您可以使用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。

enter image description here

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

enter image description here