我有一个具有IP地址192.168.0.192的VM运行postgreSQL。
如果我指定
listen_addresses = '*'然后,我可以从另一个VM ( 192.168.0.191 )和本地主机进行连接。
但我似乎不能用列表告诉postgreSQL使用这两个地址。如果我将listen_addresses更改为列表:
listen_addresses = '192.168.0.191, localhost'那么我就不能再从192.168.0.191连接起来了。
我注意到,stackexchange上的几乎所有示例都将listen_addresses设置为“*”。这是因为列表表单不工作吗?
发布于 2013-08-20 03:19:01
是的,可以将listen_addresses设置为本地主机上要绑定以进行侦听的地址列表。
在你的例子中:
listen_addresses = '192.168.0.191,localhost‘
如果本地机器具有IP 192.168.0.192,则应指定该IP,而不是远程主机192.168.0.191 IP。PostgreSQL不能绑定到远程主机的IP地址。
您不是说“允许连接的人”,而是“PostgreSQL应该接受连接的接口”。下一步是“允许连接的人”位,并在pg_hba.conf中进行配置。
所以:试试'192.168.0.192, localhost'吧。或者仅仅是*,因为您可能实际上希望在所有网络接口上侦听。
发布于 2018-12-16 00:58:38
我发现,如果要指定任何其他地址,而不是使用localhost,则需要使用127.0.0.1。
因此,在我侦听Docker主机IP地址和本地主机(但不监听外部IP )的情况下,这是行不通的(我从我的Docker容器中拒绝了连接):
listen_addresses = '172.17.0.1, localhost'但这确实是:
listen_addresses = '172.17.0.1, 127.0.0.1'发布于 2019-11-07 10:44:45
条目0.0.0.0允许侦听所有IPv4地址和::允许侦听所有IPv6地址。如果列表为空,则服务器根本不监听任何IP接口,在这种情况下,只能使用Unix域套接字连接到它。
https://dba.stackexchange.com/questions/48372
复制相似问题