关于ubuntu 16.04:postgresql无法连接到服务器 – 没有这样的文件或目录

postgresql could not connect to server - No such file or directory

我在Ubuntu 16.04上安装了postgresql,当我运行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"?

我试图重新启动并重新加载postgres服务,但错误每次显示。


我在Ubuntu 14.04中遇到了同样的错误,它对我有用。
尝试重新启动Postgres服务

1
$ sudo service postgresql restart

要么

1
$ sudo /etc/init.d/postgresql restart

跟着这些步骤

1)转到/var/log/postgresql并打开日志文件

如果您在日志文件中看到与此类似的错误

FATAL: private key file"/etc/ssl/private/ssl-cert-snakeoil.key"具有群组或世界访问权限

如果由数据库用户拥有,则为DETAIL: File must have permissions u=rw (0600)或更少,如果由root拥有,则为u=rw,g=r (0640)或更少。

a)执行以下命令来更改权限(如果你是差异,请确保更改密钥文件名)

1
2
3
$ sudo chown postgres /etc/ssl/private/ssl-cert-snakeoil.key
$ sudo chgrp postgres /etc/ssl/private/ssl-cert-snakeoil.key
$ sudo chmod 740 /etc/ssl/private/ssl-cert-snakeoil.key

现在重启服务

1
$ sudo /etc/init.d/postgresql restart

它应该显示这个消息
[ok]重启postgresql(通过systemctl):postgresql.service。

现在输入这些命令进行验证

1
2
$ sudo su - postgres
$ psql

你应该看到这条消息

1
2
3
4
root@imp-itpl0023:/etc/ssl/private# su - postgres
postgres@imp-itpl0023:~$ psql
psql (10.3 (Ubuntu 10.3-1.pgdg16.04+1))
TYPE"help" FOR help.