允许从任何计算机访问 Postgresql
Allow access to Postgresql from any computer
在研究了 Postgresql 的 GUI 之后,我发现 pgadmin 4 桌面客户端是一个有效的选择。
我使用 Ubuntu 16.04 服务器(Digital Ocean 上的 droplet)和 iptables 防火墙。
如何允许从远程计算机访问?我安装了 pgadmin 的电脑有动态 ip。
您是要从本地网络管理 Postgresql 还是要允许世界各地的其他用户连接到您的 Postgresql 服务器?
允许您自己访问服务器以管理同一子网中的服务器非常容易。允许全世界的用户访问您的服务器是不明智的。
允许远程访问:
您需要编辑 pg_HBA.conf 文件。默认情况下,它只允许服务器本地用户连接到数据库。这是一个设置安全的事情。
以下片段来自我自己的 Postgresql 服务器:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
这表示只允许匹配 127.0.0.1/32 的主机访问我的服务器。
如果您希望允许子网中的所有计算机访问您的 Postgresql 服务器,您可以执行如下操作:
# IPv4 local connections:
host all all 192.168.0.1/24 md5
上面的例子会让你继续下去,但最好还是简单地阅读一下 pg_hba.conf 文件的 postgresql 文档。
如果你特别鲁莽和不负责任,喜欢过危险的生活,并且定期感到恐惧和厌恶,你会在你的 pg_hba.conf 文件中使用以下行,尽管我强烈反对它。
# IPv4 local connections:
host all all 0.0.0.0/0 md5
这基本上是说 "Anybody from anywhere can access my Postgresql server" 我提供它只是为了说明您必须多么小心。
The documentation for the current version of Postgresql 9.6 can be found here 以前的版本在 link 附近也可用,但在 pg_hba.conf 的情况下,版本之间似乎没有变化。
我想使用 pgadmin 等客户端从远程桌面计算机连接到我的云托管 Postgresql 数据库。
为此,我通过以下命令在 iptables 中打开了端口 5432:
iptables -I INPUT 1 -m tcp -p tcp --dport 5432 -j ACCEPT
service iptables save
service iptables restart
我允许从 Postgresql 中的任何位置访问,如下所示:
nano /etc/postgresql/9.5/main/postgresql.conf
像这样编辑listen_address:
listen_addresses = '*'
保存并关闭 nano 编辑器并执行 postgresql 重启命令
service postgresql restart
在研究了 Postgresql 的 GUI 之后,我发现 pgadmin 4 桌面客户端是一个有效的选择。
我使用 Ubuntu 16.04 服务器(Digital Ocean 上的 droplet)和 iptables 防火墙。
如何允许从远程计算机访问?我安装了 pgadmin 的电脑有动态 ip。
您是要从本地网络管理 Postgresql 还是要允许世界各地的其他用户连接到您的 Postgresql 服务器?
允许您自己访问服务器以管理同一子网中的服务器非常容易。允许全世界的用户访问您的服务器是不明智的。
允许远程访问: 您需要编辑 pg_HBA.conf 文件。默认情况下,它只允许服务器本地用户连接到数据库。这是一个设置安全的事情。
以下片段来自我自己的 Postgresql 服务器:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
这表示只允许匹配 127.0.0.1/32 的主机访问我的服务器。
如果您希望允许子网中的所有计算机访问您的 Postgresql 服务器,您可以执行如下操作:
# IPv4 local connections:
host all all 192.168.0.1/24 md5
上面的例子会让你继续下去,但最好还是简单地阅读一下 pg_hba.conf 文件的 postgresql 文档。
如果你特别鲁莽和不负责任,喜欢过危险的生活,并且定期感到恐惧和厌恶,你会在你的 pg_hba.conf 文件中使用以下行,尽管我强烈反对它。
# IPv4 local connections:
host all all 0.0.0.0/0 md5
这基本上是说 "Anybody from anywhere can access my Postgresql server" 我提供它只是为了说明您必须多么小心。
The documentation for the current version of Postgresql 9.6 can be found here 以前的版本在 link 附近也可用,但在 pg_hba.conf 的情况下,版本之间似乎没有变化。
我想使用 pgadmin 等客户端从远程桌面计算机连接到我的云托管 Postgresql 数据库。
为此,我通过以下命令在 iptables 中打开了端口 5432:
iptables -I INPUT 1 -m tcp -p tcp --dport 5432 -j ACCEPT
service iptables save
service iptables restart
我允许从 Postgresql 中的任何位置访问,如下所示:
nano /etc/postgresql/9.5/main/postgresql.conf
像这样编辑listen_address:
listen_addresses = '*'
保存并关闭 nano 编辑器并执行 postgresql 重启命令
service postgresql restart