gpt4 book ai didi

postgresql - 从局域网访问 PostgreSQL 服务器

转载 作者:行者123 更新时间:2023-11-29 11:11:56 27 4
gpt4 key购买 nike

我一直在尝试编辑 pg_hba.conf 文件,以便能够仅使用 IP 地址访问服务器,但到目前为止,没有成功。

例如,我可以使用 «localhost» 进行访问,但我想使用路由器给我的 IP 地址进行访问,例如 192.168.1.X

这是 mi pg_hba.conf:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres trust
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust
host all all 0.0.0.0/0 trust

有什么帮助吗?

最佳答案

首先,编辑postgresql.conf文件,设置listen_addresses . 'localhost' 的默认值将只监听环回适配器。您可以将其更改为“*”,表示监听所有地址,或者专门列出您希望它接受连接的接口(interface)的 IP 地址。请注意,这是接口(interface)分配给它的 IP 地址,您可以使用 ifconfigip addr 命令查看。

您必须重新启动 postgresql 才能使 listen_addresses 的更改生效。

接下来,在 pg_hba.conf 中,您将需要这样的条目:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host {dbname} {user} 192.168.1.0/24 md5

{dbname} 是您允许访问的数据库名称。您可以为所有数据库输入“all”。

{user} 是允许连接的用户。请注意,这是 postgresql 用户,不一定是 unix 用户。

ADDRESS 部分是您要允许的网络地址和掩码。根据您的要求,我指定的掩码将适用于 192.168.1.x。

METHOD 部分是要使用的身份验证方法。那里有很多选择。 md5 表示它将使用 md5 散列密码。您在示例中的“信任”意味着根本没有身份验证 - 绝对不推荐这样做。

对 pg_hba.conf 的更改将在重新加载服务器后生效。您可以使用 pg_ctl reload(或通过初始化脚本,具体取决于您的操作系统发行版)。

关于postgresql - 从局域网访问 PostgreSQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22080307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com