无法连接PostgreSQL以远程数据库的使用pgAdmin
-
18-09-2019 - |
题
我安装了PostgreSQL在我的本地服务器(Ubuntu)IP192.168.1.10.现在,我想访问的数据库从我的客户机(Ubuntu)IP192.168.1.11的与pgAdmin.
我知道我必须改变postgresql。conf和pg_hba.conf允许客户进行连接。能不能请你指导我?
解决方案
它实际上是一个3步骤的过程中连接到一个PostgreSQL server通过远程pgAdmin3.
注:我用Ubuntu的11.04和PostgreSQL8.4.
你必须让PostgreSQL听远程进入的TCP连接,因为默认设定允许听仅用于连接上回送的接口。能够达到远程服务器你必须添加下面的线进入文件
/etc/postgresql/8.4/main/postgresql.conf:
listen_addresses='*'
PostgreSQL默认情况下拒绝所有连接收到从任何地址的远程,你需要放松这些规则通过加入这条线
/etc/postgresql/8.4/main/pg_hba.conf:
主机的所有0.0.0.0的/0md5
这是一个接入控制规则,让任何人登录在任何地址,如果他可以提供一个有效的密码(md5关键词).你可以使用所需要的网络/模板,而不是0.0.0.0/0.
当你已经应用了这些修改结构的文件需要重新启动PostgreSQL server。现在它是可以登录到您的远程服务器,使用用户名和密码。
其他提示
如果您使用的PostgreSQL 8或更高,则可能需要修改listen_addresses
在/etc/postgresql/8.4/main/postgresql.conf
设置。
尝试添加行:
listen_addresses = *
这将告诉PostgreSQL的监听所有网络接口连接。
如果没有明确设置,该设置默认为localhost
这意味着它将仅接受来自同一机器的连接。
我没有改变我的prostgresql.conf文件,但我确实有做的基础上通过命令行进行连接和pgAdmin的不连接与AWS RDS我PSQL以下。
我也有我的RDS设置为公开访问。我确信我的ACL和安全组是敞开的,仍然问题,所以,我做了以下内容:
sudo find . -name *.conf
然后sudo nano ./data/pg_hba.conf
然后添加到指令的顶部pg_hba.conf文件host all all 0.0.0.0/0 md5
和pgAdmin的自动登录我英寸
这也工作在pg_hba.conf文件
host all all md5
没有任何IP地址,这也跟我的IP地址host all all <myip>/32 md5
工作
作为一个方面说明,我的RDS是我的默认VPC。我曾在我的非默认VPC具有相同安全组,ACL和安全组设置相同的RDS实例,以我的默认VPC,我无法得到它的工作。不知道为什么,但是,那是另一天。
在linux终端试试这个:
sudo service postgresql start
:开始的服务器sudo service postgresql stop
:停止你的服务器sudo service postgresql status
:检查服务器的状态
有关RedHat Linux下
sudo vi /var/lib/pgsql9/data/postgresql.conf
pgsql9是用于安装postgres的版本的文件夹,可能是其他不同的
改变 的listen_addresses = '*' 从 的listen_addresses =“本地主机” 然后
sudo /etc/init.d/postgresql stop
sudo /etc/init.d/postgresql start
检查你的防火墙。如果禁用它,那么你可以连接。如果你想/无法禁用防火墙,添加一个规则,为您的远程连接。