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

3 ssl postgresql kali-linux

这是关于 Metasploit 框架。

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!
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是,PostgreSQL 运行良好。是什么事情突然触发了这个问题?

其次,如何解决这个问题?

小智 5

这很可能是Postgres fsync Permissions Bug的结果。

引用的 Wiki 页面指出,该问题将在 2015-06-04 更新版本中修复,并且它影响了以下用户:

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

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