我知道这是一个重复发布的问题,但我一直无法找到适合我的答案。
PostgreSQL 9.5 运行良好,有人决定我们需要编辑 pg_hba.conf 文件并重新启动服务,所以我们这样做了。从那时起,在尝试连接到数据库时会出现这个不祥的错误消息(我们试图恢复更改并重新启动服务,但这并没有解决它)。看起来该进程正在运行,因为
service --status-all
显示 postgres 正在运行,如[ + ] postgresql
但是,如果我跑
service postgres status
输出看起来像这样(开头的黑点实际上是绿色的):
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2016-11-04 11:49:18 UTC; 27min ago
Main PID: 1079 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
CGroup: /system.slice/postgresql.service
Nov 04 11:49:18 kissdb systemd[1]: Starting PostgreSQL RDBMS...
Nov 04 11:49:18 kissdb systemd[1]: Started PostgreSQL RDBMS.
但是,当我尝试在ps
输出中查找进程的 PID 时......找不到,所以我最好的猜测是,有些东西正在告诉服务正在运行,而实际上并没有运行,我不知道如何让我的手解决这个问题。
此外,我似乎无法访问pg_ctl
,postgres
命令,并且 中没有/var/
目录/usr/local/
,我想这应该令人担忧,因为我研究过的几乎每个给定答案都提到了它。
请有人帮助我:(我可以提供您可能需要的更多信息,我真的不知道发生了什么,所以我不确定我是否已经提供了必要的信息让某人知道问题出在哪里.
好吧,我发现这一切都有什么问题。
首先,通过运行
/usr/bin/pg_lsclusters
我可以看到集群确实没有在线。然后我检查了/var/log/postgresql/postgresql-9.5-main.log
文件以查找导致集群无法启动的具体错误是什么,我可以看到我的ph_hba.conf
文件不知何故无法读取。我不知道权限如何或何时更改,但确实如此。我
chmod 644
是他们,现在一切都很棒。