如何解决问题: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
使用 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