安装 Postgres 后,端口 5432 正在监听但无法访问

安装 Postgres 后,端口 5432 正在监听但无法访问

我有一个 Ubuntu VM,托管在 Microsoft Azure 上。它是完全空白的,然后我使用 安装了 Postgres sudo apt-get install postgresql

我安装的版本是Ubuntu 10.10-0ubuntu0.18.04.1

我配置了 Postgres 以接受远程连接,方法如下本教程

  • postgresql.conf通过设置来编辑我的文件listen_addresses = '*'
  • pg_hba.conf通过添加以下两行来编辑我的文件:

    host all all 0.0.0.0/0 md5

    host all all ::/0 md5

我重新启动了 Postgres,甚至重新启动了整个服务器。

当我执行时netstat -tln,我获得以下结果:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 :::5432                 :::*                    LISTEN

我的iptables完全是空的,创建虚拟机后我没有对它做任何事情。

我尝试从另一个客户端执行sudo -u postgres psql -h [host] -U postgres,但请求超时。

当我从另一个客户端执行时telnet [host] 5432,直到超时,什么都没有发生。但是,执行telnet [host] 22工作正常,并且执行时telnet [host] 80我收到拒绝连接的消息,我认为这意味着我的主机至少正在监听这些端口。

我在这里可能遗漏了什么?

答案1

尝试切换到 postgres 用户并进入psql安装 postgres 的机器。这将确保安装正确或错误。

su - postgres
psql

检查 Azure 控制台中的防火墙,可能您必须启用端口 5432。

有关如何在 Azure VM 上打开端口的更多信息,请参见这里

相关内容