如何解决问题:psql 无法连接到 Ubuntu 中的服务器?

How can I solve the issue: psql cannot connect to the server in Ubuntu?

使用 PostgreSQl 在 VPS 上托管我的 Django Web 应用程序。然而,配置似乎没问题,但每当我想访问 Postgres Shell,我都会收到下面的错误。

root@vmi851374:~# sudo su -l postgres
        postgres@vmi851374:~$ 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@vmi851374:~$


我已经检查了 Postgres 服务状态,一切似乎都很好,但我不知道这个错误是从哪里来的。请注意,在我的本地主机(笔记本电脑)中,我没有遇到这个问题。仅在 VPS 服务器中,我遇到了这个问题。

请帮我解决这个问题。

正在做:

sudo systemctl status postgresql.service

只是显示bootstrap进程的状态是否postgresql.service运行。此进程用于启动实际的 Postgres 服务器。

要查看实际服务器是否 运行,请执行以下操作:

pg_lsclusters

这将显示服务器的状态。

另一种选择是使用:

sudo systemctl status postgresql@<version>-main.service

<version> 替换为 Postgres 服务器的版本号。

我通过编辑位于 /etc/postgresql/14/main/postgresql.conf 的文件 postgresql.conf 解决了这个问题 然后我取消注释并编辑 listen_addresses 属性以开始监听开始监听所有可用的 IP 地址:listen_addresses = '*'

此外,我编辑了 PostgreSQL 访问策略配置文件如下:

vim /etc/postgresql/14/main/pg_hba.conf. 

然后我修改了文件如下:

host all all 0.0.0.0/0 md5

现在一切正常。非常感谢@AdrianKlaver