无法连接到远程PostgreSQL数据库


16

我正在尝试连接到远程psql数据库。在添加具有客户端IP地址的pg_hba.conf条目之前,我收到了一条错误消息:

xdev@xdevbox:~$ psql -U postgres testdb -h 10.1.1.47
psql: FATAL:  no pg_hba.conf entry for host "10.201.50.71", user "postgres", database "testdb", SSL off

我添加了具有信任设置的客户端IP。我还更改了服务器上postgres.conf中的侦听地址以侦听“ *”。然后,我使用/etc/init.d/postgresql restart命令重新启动了数据库服务器。

现在,当我尝试连接时,出现以下错误消息:

psql: could not connect to server: Connection refused
    Is the server running on host "10.1.1.47" and accepting
    TCP/IP connections on port 5432?

在postgresql.conf中,端口设置为5432。我不确定还需要检查什么。

谢谢


你可以ping那个地址吗?
dezso 2015年

1
我想说的是,当您重新启动数据库时,它没有正确地重新启动。检查PostgreSQL日志文件中的原因-可能是输入错误pg_hba.conf
Craig Ringer

我不得不将监听地址从*更改为特定的IP地址。
2015年

Answers:


22

您必须配置以下两个文件

pg_hba.conf

host all all 0.0.0.0/0 md5

postgresql.conf

listen_addresses='*'

您必须检查端口5432是否打开: http //www.yougetsignal.com/tools/open-ports/

如果不是,则向您的规则添加iptables

iptables -A INPUT -s 0/0 -p tcp --dport 5432 -j ACCEPT

0/0:如果您希望任何人都可以访问它。您可以将其更改为特定的IP地址或IP地址范围。


1
只是一个补充。您不需要使用外部工具。仅telnet [yourServerIp] 5432在未安装telnet的情况下使用PowerShell,例如可以在Windows上使用。
Ionic 2015年

@Ionic的确如此
丹麦Khakwani 2015年

2
好吧,我偏执狂,但是我不信任网络上太多的服务。;-)请注意。:-)
Ionic

端口检查工具在这里帮助了我
Shobi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.