也许这个问题重复,但我没有得到任何解决方案,我使用的是centos 7和Postgres 9.3。 通过错误连接PostgreSQL服务器时,
错误
连接被拒绝服务器是否在主机上运行" localhost" (:: 1) 并接受端口5432上的TCP / IP连接
即使我设置了pg_hba.config文件,但我仍然遇到同样的错误
我尝试删除postmaster.pid
,但收到错误no such file and no pid exist
请告诉我解决方案
答案 0 :(得分:0)
我有同样的问题,我用解释解决了这个问题:
“在黑暗中狂野刺伤:你在拥有IPv6
解析器的机器上,其中localhost
默认为IPv6地址::1
,但postgresql.conf
中的listen_addresses是设置为127.0.0.1
或0.0.0.0
而不是*
,或者您使用的是使用没有透明IPv6
支持的C库构建的旧版PostgreSQL。
将listen_addresses
更改为localhost
并确保localhost
解析为IPv4
和IPv6
地址,或将其设置为::1
, 127.0.0.1
明确指定IPv4
和IPv6
。或者只需将其设置为*
即可监听所有接口。或者,如果您不关心IPv6
,请与127.0.0.1
联系,而不是localhost
。“
参考链接here。
我认为this post
也可以为您提供帮助。
答案 1 :(得分:0)
尝试检查防火墙是否允许该端口连接
如果在Ubuntu命令sudo ufw status
上
结果将是这样的
To Action From
-- ------ ----
22 LIMIT Anywhere
443 ALLOW Anywhere
80 ALLOW Anywhere
8000 ALLOW Anywhere
Nginx Full ALLOW Anywhere
您可以看到不允许使用端口5432
现在运行命令sudo ufw allow 5432/tcp
和
检查ufw状态
sudo ufw status
现在将返回
22 LIMIT Anywhere
443 ALLOW Anywhere
80 ALLOW Anywhere
8000 ALLOW Anywhere
Nginx Full ALLOW Anywhere
5432/tcp ALLOW Anywhere
如果这不起作用,您可能不允许IP听postgres
将listen_address = 'localhost'
更改为listen_address = '*'
在 postgres.conf 文件中。