无法在 PostgreSQL 9.5 中 运行 psql

Cannot run psql in PostgreSQL 9.5

我在 Ubuntu 16.04 LTS 上使用 PostgreSQL 9.5。 我在键入 psql:

时收到以下错误
 psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

检查 /var/log/postgresql/postgresql-9.5-main.log 中的日志时,我看到错误为:

2018-11-26 13:17:41 IST [3508-1] FATAL: could not access private key file "/etc/ssl/private/ssl-cert-snakeoil.key": Permission denied

以下是 /etc/ssl/privatessl-cert-snakeoil.key 文件的权限:

vivek@vivek-ThinkPad-E480:~$ ls -l /etc/ssl
total 36
drwxr-xr-x 2 root root     20480 Nov 22 13:06 certs
-rwxr-xr-x 1 root root     10835 Dec  8  2017 openssl.cnf
drwxr--r-- 2 root ssl-cert  4096 Nov 22 13:06 private

vivek@vivek-ThinkPad-E480:~$ sudo ls -l /etc/ssl/private
total 4
-rw-r----- 1 root ssl-cert 1704 Nov 22 13:06 ssl-cert-snakeoil.key

postgres 用户也被添加到组 ssl-cert

vivek@vivek-ThinkPad-E480:~$ getent group ssl-cert
ssl-cert:x:112:postgres

注意: 我发现 /var/lib/postgresql/9.5/main 中没有 server.key

我也在 DBA Stackexchange 上发布了这个,但还没有回复。

谁能指导我正确设置权限?

那永远行不通,您的服务器将无法启动,因为 OS 用户 postgres 无权访问 etc/ssl/private.[=16= 中的文件]

要允许组 ssl-cert 中的用户访问目录中的文件,运行

chmod g+x /etc/ssl/private

在进行操作时,请确保 /etc/ssl 具有所需的权限。

要测试是否一切正常,请成为用户 postgres 并尝试读取文件。