首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决PostgreSQL服务不启动的问题?

如何解决PostgreSQL服务不启动的问题?
EN

Unix & Linux用户
提问于 2015-05-23 23:14:22
回答 3查看 10.2K关注 0票数 3

这是关于Metasploit框架的。

代码语言:javascript
复制
root@kali:~# service postgresql start
[....] Starting PostgreSQL 9.1 database server: main[....] The
PostgreSQL server failed to start. Please check the log output: 
2015-05-23 19:07:58 EDT LOG: database system was interrupted; 
last known up at 2015-05-23 16:52:00 EDT 2015-05-23 19:07:58 
EDT FATAL: could not open file "/etc/ssl/certs/ssl-cert-snakeoil.pem":   
Permission denied 2015-05-23 19:07:58 EDT LOG: startup process 
(PID 3466) exited with exit code 1 2015-05-23 19:07:58 EDT LOG: 
aborting startup due to startup [FAILss failure ... failed! failed!

我的第一个问题是,PostgreSQL工作得很好。是什么东西突然引发了这个问题?

第二,如何解决这个问题?

EN

回答 3

Unix & Linux用户

发布于 2015-05-28 07:50:54

这很可能是Postgres fsync权限错误的结果。

参考的Wiki页面指出,这一问题将在2015-06-04更新版中得到解决,并影响到以下用户:

  1. 应用9.4.2、9.3.7、9.2.11、9.1.16和/或9.0.20 PostgreSQL更新
  2. 拥有一个或多个文件或目录,或指向postgres用户(或其他安装所有者)在postgres数据目录(PGDATA)下不可拥有或不可写的一个或多个文件或目录的符号链接。

它还说条件2对于启用SSL的Debian和Ubuntu安装PostgreSQL 9.1、9.0和更早版本是常见的,但也可能影响到其他用户。其他平台上的大多数用户不受影响,因为默认情况下,PGDATA下的所有文件和链接都由postgres用户拥有。

票数 5
EN

Unix & Linux用户

发布于 2015-05-23 23:56:09

在你引用的文本中,原因是:

致命:无法打开文件“/etc/ssl/certs/ssl-cert-snake.pem”:权限被拒绝

如果您真的想使用蛇油证书,您需要确保PostgreSQL能够读取它。但是,最好生成您自己的证书并使用它。(这些证书被称为蛇油是有原因的。)

票数 2
EN

Unix & Linux用户

发布于 2015-05-24 00:15:05

解决方案是使用acl,并允许postgres用户(称为postgres,即psql,检查密码文件)读取

代码语言:javascript
复制
/etc/ssl/certs/ssl-cert-snakeoil.pem

如果用户名为psql,则执行以下操作

代码语言:javascript
复制
setfacl -m u:psql:r--     /etc/ssl/certs/ssl-cert-snakeoil.pem

当然,检查acl是否处于活动状态。

代码语言:javascript
复制
mount |grep -w / |grep acl

如果不编辑fstab(在此之前复制)和默认值之后,则将acl放在

然后用setfacl设置mount -o remount /和actl

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/205282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档