允许从任何计算机访问 Postgresql

Bra*_*m z 3 postgresql pgadmin

在研究了 Postgresql 的 GUI 之后,我发现 pgadmin 4 桌面客户端是一个有效的选择。

我使用 Ubuntu 16.04 服务器(Digital Ocean 上的 Droplet)和 iptables 防火墙。

如何允许远程计算机访问?我安装了 pgadmin 的计算机有动态 IP。

小智 10

您想要从本地网络管理 Postgresql 还是希望允许世界各地的其他用户连接到您的 Postgresql 服务器?

允许您自己访问服务器并在同一子网上对其进行管理非常容易。允许全世界的用户访问您的服务器是不明智的。

要允许远程访问:您需要编辑 pg_HBA.conf 文件。默认情况下,它只允许服务器本地用户连接到数据库。这是一个设置安全的事情。

以下片段来自我自己的 Postgresql 服务器:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
Run Code Online (Sandbox Code Playgroud)

这表示只允许匹配 127.0.0.1/32 的主机访问我的服务器。

如果您希望允许子网中的所有计算机访问您的 Postgresql 服务器,您可以执行如下操作:

# IPv4 local connections:
host    all             all             192.168.0.1/24            md5
Run Code Online (Sandbox Code Playgroud)

上面的示例将帮助您入门,但明智的做法是简要阅读 pg_hba.conf 文件的 postgresql 文档。

如果你特别鲁莽和不负责任,并且享受危险生活的前景,并且定期感到恐惧和厌恶,你会在你的 pg_hba.conf 文件中使用以下行,尽管我严重反对它。

# IPv4 local connections:
host    all             all             0.0.0.0/0            md5
Run Code Online (Sandbox Code Playgroud)

这基本上是说“任何地方的任何人都可以访问我的 Postgresql 服务器”,我提供它只是为了说明您必须如何小心。

当前版本的 Postgresql 9.6 的文档可以在此处找到,以前的版本也可以在该链接附近找到,但就 pg_hba.conf 而言,版本之间的情况似乎没有变化。