我正在运行 Ubuntu 16.04 操作系统,并且最近使用中给出的说明安装了 postgreshttps://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-16-04。
但是,当我尝试使用 postgres 时
snowbell@snowbell-Aspire-4738Z:/var/www$ sudo -i -u postgres
postgres@snowbell-Aspire-4738Z:~$ 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"?
postgres@snowbell-Aspire-4738Z:~$ sudo -u postgres psql
postgres is not in the sudoers file. This incident will be reported.
为了摆脱这个错误,我尝试使用
snowbell@snowbell-Aspire-4738Z:~$ sudo -u postgres psql -p 5432 -h 127.0.0.1
结果,我收到以下错误
psql: could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
有什么线索吗?
这是 Sample_error 文件 blissini
答案1
如果您已经用尽了评论中建议的内容,那么错误本身可能与 的配置错误有关postgresql
,这会导致服务器在启动之前崩溃。
我建议遵循以下说明:
确保
postgresql
服务正在运行,使用sudo service postgresql start
pg_lsclusters
从您的终端运行- 检查您正在运行的集群是什么,输出应该类似于:
版本 - 集群端口状态所有者数据目录
9.6 ------- main -- 5432 online postgres /var/lib/postgresql/9.6/main
从版本和集群中复制信息,然后像这样使用:
pg_ctlcluster <version> <cluster> start
,例如:pg_ctlcluster 9.6 main start
如果出现问题,
postgresql
则会生成一个日志,可以在 上访问/var/log/postgresql/postgresql-<version>-main.log
,例如:
2017-07-13 16:53:04 BRT [32176-1] LOG: invalid authentication method "all" 2017-07-13 16:53:04 BRT [32176-2] CONTEXT: line 90 of configuration file "/etc/postgresql/9.5/main/pg_hba.conf" 2017-07-13 16:53:04 BRT [32176-3] FATAL: could not load pg_hba.conf
无论日志给出什么错误,请修复它并通过以下方式重新启动 postgresql 服务:
sudo service postgresql restart