服务器是否在主机“localhost”(::1)上运行,并在端口5432上接受TCP/IP连接?

40

我正在使用Django开发。我使用的是PostgreSQL数据库。

完整错误信息如下:

could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?

你有什么想法吗?


2
请检查您的PostgreSQL服务器设置。 - Ansuman Bebarta
我已经在我的电脑上安装了PostgreSQL,但服务仍然无法启动...有什么想法吗? - SweetWisher ツ
1个回答

18

猜测可能是因为您所在的机器具有IPv6解析器,其中localhost默认为IPv6地址::1,但postgresql.conf中的listen_addresses设置为127.0.0.10.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

有关更多信息,请参见此Google搜索此Stack Overflow搜索

(尽管我投票将问题迁移,但仍然发表回答)


2
已经有一段时间了,但我遇到了同样的错误,并通过将我的监听端口更改为postgresql.conf中的5432(原来是5433)来修复它,但如果我想在conf中保留我的5433呢? - Scaramouche
@J.M.Echevarría 在连接时向客户端指定端口。 - Craig Ringer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接