Postgres无法在Azure中的Windows Server 2016上启动

问题描述 投票:2回答:1

我在Azure VM上的Windows Server 2016上启动Postgres 9.6.6时遇到问题。

当我尝试启动Postgres时,它会生成一个包含以下内容的日志文件:

LOG:  could not bind IPv6 socket: Permission denied
HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG:  could not bind IPv4 socket: Permission denied
HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
WARNING:  could not create listen socket for "localhost"
FATAL:  could not create any TCP/IP sockets
LOG:  database system is shut down

它是一个全新的VM,我修改了postgresql.conf和listen_addresses以包含127.0.0.1但我仍然得到相同的绑定错误。

如果我在VM上运行nslookup,我收到以下内容;

Server: Unknown
Address:  148.43.119.15
*** UnKnown can't find localhost: Non-existent domain

所以我认为查找因localhost而失败的事实可能导致问题。我修改了VM上的hosts文件:

127.0.0.1       localhost
:1             localhost

但是同样的错误正在发生,所以我认为我没有在网络方面设置但不确定在哪里看。

postgresql azure localhost virtual-machine
1个回答
0
投票

如果我的理解是正确的,148.43.119.15是你的VM的公共IP。你无法在IP上听postgresql,如果我跟你设置类似,我会得到相同的结果。

enter image description here

请修改postgreqls.conf

listen_addresses = '*'

对于Azure VM,如果要使用Public IP访问postgresql,则需要Azure NSG和Windows防火墙上的开放端口。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.