PostgreSQL无法连接到服务器-没有这样的文件或目录。

5
我在Ubuntu 16.04上安装了postgresql,当我运行psql命令时出现以下错误:

无法连接服务器:没有这样的文件或目录。 服务器正在本地运行并且接受Unix域套接字“/var/run/postgresql/.s.PGSQL.5432”的连接吗?

我尝试重新启动和重新加载postgresql服务,但每次都会显示此错误。

1
Postgres服务器在启动时会创建此文件。因此,您的服务器未运行。请查看系统或postgres日志以查找详细信息,了解为什么您的服务器无法启动。 - clemens
pg_ctl status?.. - Vao Tsun
请提供您的错误信息。您正在尝试以哪个用户启动服务?您必须是“postgres”用户。 - VynlJunkie
2个回答

3

我在Ubuntu 14.04中遇到了同样的错误,尝试重新启动Postgres服务即可解决问题。

$ sudo service postgresql restart

或者

$ sudo /etc/init.d/postgresql restart

1

请按照以下步骤操作:

1)进入/var/log/postgresql并打开日志文件

如果在您的日志文件中看到类似于以下错误

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

DETAIL: 如果由数据库用户拥有,则文件必须具有u=rw(0600) 或更低的权限,如果由root拥有,则必须具有权限u=rw,g=r(0640) 或更低。

a) 执行以下命令更改权限(如果密钥文件名与您的不同,请确保更改)

$ 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

现在重新启动服务。
$ sudo /etc/init.d/postgresql restart

我应该显示这个消息

[ ok ] 正在通过systemctl重新启动postgresql: postgresql.service。

现在输入以下命令以验证

$ sudo su - postgres
$ psql

你应该看到这条消息。
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.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接