我在Ubuntu 16.04上安装了postgresql,当我运行psql
命令时出现此错误:
无法连接到服务器:没有这样的文件或目录。 服务器是否在本地运行并接受Unix域上的连接 socket" /var/run/postgresql/.s.PGSQL.5432"?
我尝试重新启动并重新加载postgres服务但每次都会显示错误。
答案 0 :(得分:2)
我在Ubuntu 14.04中遇到了同样的错误,它对我有用。 尝试重新启动Postgres服务
$ sudo service postgresql restart
或
$ sudo /etc/init.d/postgresql restart
答案 1 :(得分:-1)
请按照以下步骤操作
1)转到/var/log/postgresql
并打开日志文件
如果您在日志文件中看到与此类似的错误
FATAL: private key file "/etc/ssl/private/ssl-cert-snakeoil.key"
拥有群组或全球访问权限
DETAIL: File must have permissions u=rw (0600)
或更少,如果由数据库用户拥有,或者权限u=rw,g=r (0640)
或更少,如果由root拥有。
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.