从局域网访问PostgreSQL server
我一直在尝试编辑pg_hba.conf文件,以便能够仅使用IP地址访问服务器,但迄今为止没有成功 例如,我可以使用«localhost»进行访问,但我想使用路由器给我的IP地址进行访问,该地址类似于192.168.1.X 这是mi pg_hba.conf:从局域网访问PostgreSQL server,postgresql,postgresql-9.3,Postgresql,Postgresql 9.3,我一直在尝试编辑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 on
# 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文件,然后设置。“localhost”的默认值将仅侦听环回适配器。您可以将其更改为“*”,这意味着侦听所有地址,或者具体列出您希望其接受连接的接口的IP地址。请注意,这是接口分配给它的IP地址,您可以使用
ifconfig
或IP addr
命令查看该地址
您必须重新启动postgresql才能使更改侦听地址生效
接下来,在中,您将需要如下条目:
# TYPE DATABASE USER ADDRESS METHOD
host {dbname} {user} 192.168.1.0/24 md5
{dbname}是您允许访问的数据库名称。您可以为所有数据库设置“全部”
{user}是允许连接的用户。请注意,这是postgresql用户,不一定是unix用户
地址部分是您希望允许的网络地址和掩码。我指定的掩码将按照您的要求为192.168.1.x工作
方法部分是要使用的身份验证方法。这里有很多选择。md5意味着它将使用md5哈希密码。”您在示例中使用的“信任”表示根本没有身份验证-这绝对不推荐
对pg_hba.conf的更改将在重新加载服务器后生效。您可以使用
pg_ctl reload
(或通过init脚本,具体取决于您的操作系统发行版)来完成此操作 这里需要几条信息。您的路由器正在为您提供LAN IP,因此您将无法从LAN外部访问您的计算机。我不熟悉PostgreSQL,但我知道Ubuntu上的MySQL要求我重新启动Ubuntu上的MySQL服务。你在用什么操作系统?最后,你是否有一个防火墙可以阻止访问PostgreSQL使用的端口?我没有防火墙,我知道它只能通过局域网访问。我正在使用Linux 3.12(Manjaro)@gabe@simon只是想确保你意识到局域网的局限性,因为你的标题到处都是。对不起,我帮不上忙了,我用的是Ubuntu和MySQL。我建议您将PostgreSQL和OS添加到您的问题中,以便将来希望帮助您的人不会错过它。祝你好运。如果你真的展示了你的pg_hba.conf
,那会很有帮助。另外,在postgresql.conf
中,什么是listen\u addresses
设置为?@CraigRinger编辑以添加pg\u hba.conf实际上,您只需重新加载pg\u ctl
即可生效,而不是完全重新启动。或者选择pg\u reload\u conf()
@CraigRinger侦听地址需要重新启动(手册上说“此参数只能在服务器启动时设置”)。正如我所说,pg_hba可以通过重新加载进行更改。啊,我的错-我错过了postgresql.conf部分。谢谢。重新启动自制安装的Postgres的简单方法是:brew服务重新启动postgresql