Postgresql 服务器未监听

Postgresql 服务器未监听

我知道这个问题已经问过很多次了,但是这些答案对我都不起作用。

问题是,当我运行“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"?

当我运行“sudo /etc/init.d/postgresql status”时,它显示服务正在运行,

postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor     preset: enabled)
Active: active (exited) since Tue 2018-07-10 10:51:05 +0530; 22s ago
Process: 3219 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 3219 (code=exited, status=0/SUCCESS)

但是当我运行“sudo lsof -i :5432”和“netstat -nltp | grep 5432”和“sudo netstat -lp --protocol=unix | grep postgres”时,我得到一个空的输出。

/etc/postgresql/9.5/main/pg_hba.conf 的内容是,

local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

/etc/postgresql/9.5/main/postgresql.conf 的内容

hba_file = '/etc/postgresql/9.5/main/pg_hba.conf'
port = 5432    
listen_addresses = '*'

最后,我使用“sudo apt-get --purge remove postgresql*”命令卸载了 postgres,并使用“apt-get install postgresql-9.5”重新安装,但结果是一样的。

谢谢

答案1

我可以在这里找到解决我的问题的答案。无法连接到 PostgreSQL 服务器。问题是 pg 集群没有启动。

  1. sudo pg_ctlcluster 9.5 main start- 将告知集群是否正在运行
  2. 如果它出现任何错误,您可以使用以下方式查看它们journalctl -xe
  3. 它向我显示了错误DETAIL: File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root。然后,一旦我更改了私钥文件的权限,问题就解决了

相关内容