Как решить проблему: psql не может подключиться к серверу в Ubuntu?
Я размещаю свое веб-приложение Django на VPS, используя PostgreSQl. Однако, конфигурация вроде бы в порядке, но когда я хочу получить доступ к оболочке 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, и все кажется в порядке, но я не знаю, откуда берется эта ошибка. Обратите внимание, что на моем localhost (ноутбуке) я не сталкиваюсь с этой проблемой. Только на VPS-сервере я получаю эту проблему.
Пожалуйста, помогите мне решить эту проблему.
Выполнение:
sudo systemctl status postgresql.service
просто показывает, запущен ли статус процесса bootstrap postgresql.service. Этот процесс используется для запуска реального сервера или серверов Postgres.
Чтобы проверить, запущены ли реальные серверы, выполните следующие действия:
pg_lsclusters
Здесь будет показан статус сервера(ов).
Другой вариант - использовать:
sudo systemctl status postgresql@<version>-main.service
где вы заменяете <version> на номер версии сервера Postgres.
Я решил проблему, отредактировав файл postgresql.conf, расположенный в /etc/postgresql/14/main/postgresql.conf.
Затем я откомментировал и отредактировал атрибут listen_addresses на start listening, чтобы начать прослушивать все доступные IP-адреса: listen_addresses = '*'
Дополнительно я отредактировал файл конфигурации политики доступа PostgreSQL следующим образом:
vim /etc/postgresql/14/main/pg_hba.conf.
Затем я изменил файл следующим образом:
host all all 0.0.0.0/0 md5
И теперь все работает нормально. Большое спасибо @AdrianKlaver