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

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

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

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

回答(2)

2 years ago

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

$ sudo service postgresql restart

要么

$ sudo /etc/init.d/postgresql restart

2 years ago

跟着这些步骤

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)执行以下命令来更改权限(如果你是差异,请确保更改密钥文件名)

$ 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]重启postgresql(通过systemctl):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.