PostgreSQL 连接被拒绝

Posted

技术标签:

【中文标题】PostgreSQL 连接被拒绝【英文标题】:PostgreSQL Connection Refused 【发布时间】:2017-08-05 09:43:41 【问题描述】:

我已经安装了 PostgreSQL。但是,每次我尝试通过 PGAdmin 或通过 psql 连接时,都会出现以下错误。

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? 
could not connect to server: Connection  refused (0x0000274D/10061) 
      Is the server running on host "localhost" (127.0.0.1) and 
      accepting TCP/IP connections on port 5432?

我检查了postgresql.conf 文件,并且该行:listen_addresses = '*' 没有被注释掉。

这也是我的pg_hba.conf 文件的设置方式:

# IPv4 local connections:
  host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
  host    all             all             ::1/128                 trust

谁能告诉我如何解决这个问题?

谢谢!

【问题讨论】:

pg_hba.conf,不是pg_hba.conf.txt 【参考方案1】:

使用服务“start -> run -> services.msc”并查找 postgresql-[vers] 服务。

如果它没有运行,请尝试启动它,如果它无法启动,请打开事件查看器(开始 -> 运行 -> eventvwr)并查找与 PostgreSQL 服务相关的错误消息。

【讨论】:

在搜索了几个答案后,这个对我有用!它只需要启动应用程序(右键单击 -> 启动)。然后错误就消失了!【参考方案2】:

pg_hba.conf.txt 必须被称为pg_hba.conf

除此之外,当您遇到身份验证错误时,您将收到类似于以下内容的消息:

psql -U nonexistent
psql: FATAL:  Peer authentication failed for user "nonexistent"

你得到的错误意味着PostgreSQL很可能没有在这个服务器上启动。

您可以通过以下方式启动 PostgreSQL:

service postgresql start
service postgresql status

【讨论】:

psql -U myuser -d mydatabase 工作正常,我确实启动了服务,status 将其显示为 active。但我仍然收到 Connection refused 错误。【参考方案3】:

这对我有用 -

In C:\Program Files\PostgreSQL\data\postgresql.conf set listen_addresses ='localhost'

那就试试吧-

pg_ctl -D "C:\Program Files\PostgreSQL\9.5\data" start

如果已经尝试使用 pg_ctl 重新启动

【讨论】:

【参考方案4】:

也许你可以试试这个.. 打开cmd并插入..

"C:\Program Files\PostgreSQL\11\bin\pg_ctl.exe" runservice -N "postgresql-x64-11" -D "C:\Program Files\PostgreSQL\11\data" -w

回车... :)

【讨论】:

【参考方案5】:

我的 pg_hba.confpostgresql.conf 文件很重要。如果之前的答案对你不起作用,就像我一样。

Here is a solution。我是在阅读了PostrgeSQL-9.6.16 官方文档后才知道的。

【讨论】:

【参考方案6】:

它对我有用。 请记住,-D 之后的任何内容都应该是您安装 PostgreSQL 的路径,到包含 pg_hba.conf 和 postgresql.conf 文件的数据文件夹。

pg_ctl start -D "C:/Program Files/PostgreSQL/9.6/data"

【讨论】:

以上是关于PostgreSQL 连接被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

谷歌云应用引擎到 postgresql 连接被拒绝

Docker PostgreSQL 中的连接被拒绝

EC2 上的 PostgreSQL 数据库:连接被拒绝

连接到 postgresql:dbserver db 通过 JDBC 连接到 Databricks 时连接被拒绝

postgres连接在摇摆中被拒绝

postgresql 安装