首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >listen_addresses真的可以设置为列表吗?

listen_addresses真的可以设置为列表吗?
EN

Database Administration用户
提问于 2013-08-20 03:09:12
回答 4查看 57.4K关注 0票数 43

我有一个具有IP地址192.168.0.192的VM运行postgreSQL。

如果我指定

代码语言:javascript
复制
listen_addresses = '*'

然后,我可以从另一个VM ( 192.168.0.191 )和本地主机进行连接。

但我似乎不能用列表告诉postgreSQL使用这两个地址。如果我将listen_addresses更改为列表:

代码语言:javascript
复制
listen_addresses = '192.168.0.191, localhost'

那么我就不能再从192.168.0.191连接起来了。

我注意到,stackexchange上的几乎所有示例都将listen_addresses设置为“*”。这是因为列表表单不工作吗?

EN

回答 4

Database Administration用户

回答已采纳

发布于 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'吧。或者仅仅是*,因为您可能实际上希望在所有网络接口上侦听。

票数 60
EN

Database Administration用户

发布于 2018-12-16 00:58:38

我发现,如果要指定任何其他地址,而不是使用localhost,则需要使用127.0.0.1

因此,在我侦听Docker主机IP地址和本地主机(但不监听外部IP )的情况下,这是行不通的(我从我的Docker容器中拒绝了连接):

代码语言:javascript
复制
listen_addresses = '172.17.0.1, localhost'

但这确实是:

代码语言:javascript
复制
listen_addresses = '172.17.0.1, 127.0.0.1'
票数 5
EN

Database Administration用户

发布于 2019-11-07 10:44:45

条目0.0.0.0允许侦听所有IPv4地址和::允许侦听所有IPv6地址。如果列表为空,则服务器根本不监听任何IP接口,在这种情况下,只能使用Unix域套接字连接到它。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/48372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档