无法在PostgreSQL 9.5中运行psql

无法在PostgreSQL 9.5中运行psql,postgresql,ssl,psql,postgresql-9.5,Postgresql,Ssl,Psql,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

我正在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]致命:无法访问私钥文件“/etc/ssl/private/ssl cert snakeoil.key”:权限被拒绝

以下是
/etc/ssl/private
ssl 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证书

vivek@vivek-ThinkPad-E480:~$ getent group ssl-cert
ssl-cert:x:112:postgres
注意:我发现
/var/lib/postgresql/9.5/main
中没有
server.key

我也在网上发布了这篇文章,但还没有回应


有谁能指导我设置权限的正确方向吗?

这永远无法工作,您的服务器将无法启动,因为操作系统用户
postgres
无权访问
etc/ssl/private
中的文件

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

chmod g+x /etc/ssl/private
在进行此操作时,请确保
/etc/ssl
具有所需的权限


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

您确定服务器正在运行吗?对于本地连接,它甚至可能不需要SSL。@当我运行
sudo service postgresql status
时,我会获得
active
状态,如图所示。奇怪的是,当我运行sudonetstat-lntp时,我看不到任何服务在端口
5432
上运行。这正在运行。
g+x
到底是做什么的?我已经将
postgres
添加到组
ssl cert
,并且我还注意到,当我重新启动
sudo服务postgresql
时,日志正在创建中。因此,这意味着服务器从未重新启动过(不确定它是否一开始就启动过)。奇怪的是,它没有在终点站报告任何事情。啊,我的错!对于组
ssl证书
5,即
r-x
,对于其他组
ssl证书
0,即
--
。再次感谢。