允许从任何计算机访问Postgresql

时间:2017-02-21 21:24:09

标签: postgresql pgadmin

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

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

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

2 个答案:

答案 0 :(得分:1)

您是想要从本地网络管理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

这基本上说"来自任何地方的任何人都可以访问我的Postgresql服务器"我提供它只是作为一个小心谨慎的例子。

The documentation for the current version of Postgresql 9.6 can be found here在该链接附近也可以使用以前的版本,但在pg_hba.conf的情况下,版本之间似乎没有变化。

答案 1 :(得分:0)

我希望使用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 restart命令

service postgresql restart