Postgres服务器没有收听

时间:2015-06-27 17:56:58

标签: postgresql remote-access pgadmin

我尝试将我的客户端(Macbook Pro)连接到位于同一网络中另一台PC上的Postgres数据库(Ubuntu) 我可以通过pgAdmin从主机看到数据库,连接到localhost,但我无法从客户端看到。

我已允许pg_hba.confpostgresql.conf

中的所有连接

我尝试通过pgAdmin从客户端连接到存储数据库的IP服务器(192.168.1.34)和端口5432

enter image description here 我得到了这个错误 enter image description here 我做错了什么?

我错过了什么

阅读建议后,我可以说: 在ubuntu机器(家庭测试服务器)上我没有防火墙。 Postgres正在运行。

我已经尝试从ubuntu控制台访问数据库: psql -h 127.0.0.1 mydatabase postgres并且可以连接(这意味着服务器正在运行且用户名正常) 但是如果我尝试从同一台机器访问同一个数据库,用IP更改localhost,我无法连接。 当我从服务器连接时,psql -h 127.0.0.1 mydatabase postgres不应该与psql -h 192.168.1.34 mydatabase postgres相同吗?

正如Alain建议的那样,也许是在环回中?

5 个答案:

答案 0 :(得分:9)

它没有连接,所以它可能没有在正确的界面上收听或被防火墙阻止。

postgres正在运行吗?

sudo service postgresql status

postgres是否在您的LAN IP或0.0.0.0(所有接口)上侦听tcp / 5432?

netstat -anpt | grep LISTEN

它只能侦听127.0.0.1(环回),这意味着无法从Mac上访问它。

如果它没有正在侦听或正在环回,请检查postgresql.conf是否为listen_addresses:

http://www.postgresql.org/docs/9.1/static/runtime-config-connection.html

Ubuntu盒子上是否有防火墙运行?

确保至少允许从Mac的IP到tcp / 5432的入站连接。

GUFW使配置更容易,但也可以使用iptables完成。

Ubuntu设置的进一步参考:

https://help.ubuntu.com/community/PostgreSQL

答案 1 :(得分:9)

您可能已配置以下两个文件
pg_hba.conf的
主持人全部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地址范围。

答案 2 :(得分:0)

在ubuntu 17.04默认端口是路径/etc/postgresql/9.6/main中的5433检查文件postgresql.conf

答案 3 :(得分:0)

您已允许postgresql接受来自外部网络的请求。为此,您必须更改位于/etc/postgresql/{version_code}/main的两个文件 第一个是pg_hba.conf,打开并

host all all ::1/128 md5更改为host all all 0.0.0.0/0 md5

第二个是postgresql.conf,打开并

listen_address = 'localhost'更改为listen_address = '*'

现在重新启动postgre服务器。

答案 4 :(得分:0)

我有同样的问题,甚至以为:

listen_address = '*'

做的时候

netstat -anpt | grep LISTEN

在5432端口上没有任何监听。

问题出在 pg_hba.conf *中:我已将服务器配置为仅接受本地(套接字)连接到每台主机的连接:

local   all      username       0.0.0.0/0               md5

本地更改为主机已解决了该问题

host   all      username       0.0.0.0/0               md5