Postgresql连接被拒绝了


2

我正在尝试远程连接到我的postgresql数据库。我有两个虚拟机设置运行ubuntu 14.04。我正在尝试使用第一个vm连接到第二个vm

psql -h 10.0.1.23 -U postgres -d postgres

但我收到错误:

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

我已经更改了pg_hba.conf并添加了

host all all 10.0.1.64/24 md5
host all all * md5
host all all 0.0.0.0/0 md5

并更改了postgresql.conf listen_address =“*”

试图允许所有传入连接。我也尝试更改防火墙设置,但我不确定端口是否正在正确监听连接。

编辑:输出

netstat -an | grep -E '^tcp[^6].*LISTEN'
tcp   0   0 127.0.1.1:53   0.0.0.0:*    LISTEN
tcp   0   0 0.0.0.0:22     0.0.0.0:*    LISTEN
tcp   0   0 127.0.0.1:631  0.0.0.0:*    LISTEN
tcp   0   0 0.0.0.0:23     0.0.0.0:*    LISTEN
tcp   0   0 127.0.0.1:5432 0.0.0.0:*    LISTEN

编辑您的问题,以便netstat -an | grep -E '^tcp[^6].*LISTEN'在PostgreSQL启动并运行时包含正在运行的输出。
2014年

服务器不在10.0.1.23上侦听,仅在环回设备(127.0.0.1)上侦听。但现在已经很晚了,我的大脑就停止了。
rsm 2014年

那么我怎样才能改变服务器正在收听的内容?
乔纳森

Answers:


6

显然我忘了从listen_address =“*”删除#。这是整个时间的评论。我好蠢。


1
没关系。诚实的错误。我们都做到了。:)
Thomas Farvour 2014年

我改变配置100次,重启PG 100次并找到这个:)
Madan Sapkota 2016年

我作为一名程序员工作了10多年,今天我花了几个小时的时间调试,然后这个答案对我有所帮助。
pgsandstrom

1

确保该postgresql.conf文件有一个条目listen_addresses='*'。您似乎使用了错误的配置参数名称,并且星号周围可能有空格。

最后,确保在进行这些更改后重新启动postgres。


1

做以下

更新/var/lib/pgsql/<version>/data/postgresql.conf

改变#listen_addresses = 'localhost' to listen_addresses = '*'

重启服务

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.