在 ubuntu 16.04 中使用 postgres sql 时出现问题

在 ubuntu 16.04 中使用 postgres sql 时出现问题

我正在运行 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,这会导致服务器在启动之前崩溃。

我建议遵循以下说明:

  1. 确保postgresql服务正在运行,使用sudo service postgresql start

  2. pg_lsclusters从您的终端运行

  3. 检查您正在运行的集群是什么,输出应该类似于:

版本 - 集群端口状态所有者数据目录

9.6 ------- main -- 5432 online postgres /var/lib/postgresql/9.6/main
  1. 从版本和集群中复制信息,然后像这样使用: pg_ctlcluster <version> <cluster> start,例如:pg_ctlcluster 9.6 main start

  2. 如果出现问题,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

相关内容