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.conf
和 postgresql.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 连接被拒绝的主要内容,如果未能解决你的问题,请参考以下文章