允许从任何计算机访问Postgresql

允许从任何计算机访问Postgresql,postgresql,pgadmin,Postgresql,Pgadmin,在研究了Postgresql的GUI之后,我发现pgadmin 4桌面客户端是一个有效的选择 我使用Ubuntu 16.04服务器(Digital Ocean上的droplet)和iptables防火墙 如何允许从远程计算机访问?安装了pgadmin的我的计算机具有动态ip。您是希望从本地网络管理Postgresql,还是希望允许世界各地的其他用户连接到您的Postgresql服务器 允许您自己访问服务器,以便在同一子网中管理它是非常容易的。允许世界各地的用户访问您的服务器是不明智的 要允许远程

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

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


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

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

允许您自己访问服务器,以便在同一子网中管理它是非常容易的。允许世界各地的用户访问您的服务器是不明智的

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

以下代码段来自我自己的Postgresql server:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
这表示只允许匹配127.0.0.1/32的主机访问我的服务器

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

# 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 server”,我只是举了一个例子,说明你必须多么小心


以前的版本也可以在该链接附近找到,但是在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_地址,如下所示:

listen_addresses = '*'
保存并关闭nano编辑器并执行postgrestart命令

service postgresql restart

您是在云中运行,还是在本地网络上运行?你对你的本地网络有多大的控制权?这是在云中,在数字海洋水滴上。根访问。pgadmin 4客户端仅安装在我的Windows本地计算机上。从防火墙的角度来看,请打开端口5432。至于如何从gui中引用它(我使用Postco),您需要的主要细节是主机和登录。DO应该为您提供一种一致的方式来引用您的机器,因为AWS上的IP地址或类似地址将为您提供一个类似于ec2.amazon-west-2-sdfasdf-324345asdf.AWS.com的主机。用那个。