安装后pg库状态为exited:
仔细分析,无非几个原因:
-
log目录的权限问题,比如log文件指定的目录postgres用户无权写入,因此没有产生任何log文件。检查了/var/lib/postgresql/9.1/main的目录,没有发现问题。
-
配置文件的权限问题,检查了/etc/postgresql/9.1/main目录,也没有发现任何问题,postgres用户是有权限读取配置文件的。
-
配置文件有错误导致无法正常启动postgresql。排除了上面的两个原因,这个应该是最大的原因了。但是,错误在哪里呢?没有给出提示啊!
尝试了service postgresql start, pg_ctrcluster, pg_ctl均无法给出任何提示,后来才想明白,
这几个都是对postmaster的脚本封装啊,也许这些封装忽略了什么重要的信息!应该直接运行postmaster才能得到直接的出错提示的!果然,执行
/usr/lib/postgresql/10/bin/下的postmaster给出了提示:
![](https://i-blog.csdnimg.cn/blog_migrate/46a68140c7af6ae53ea59c488505d97a.png)
看到这里立刻明白了:ssl-cert ssl-cert-snakeoil.key文件的权限不对
修改权限,重新启动pg服务:
root@node1:/etc/ssl/private# chown -R root:ssl-cert ssl-cert-snakeoil.key
root@node1:/etc/ssl/private# systemctl restart postgresql