PostgreSQL: connection to server on socket … No such file or directory
psql пытался подключиться к базе на этом же сервере через файл-сокет, а такого файла нет. Файл-сокет создаёт работающая база, поэтому ошибка значит: PostgreSQL на сервере не установлен, остановлен или работает на другом порту.
Содержание 9
Как выглядит ошибка
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?on socket— подключение через файл-сокет: особый файл, через который программы на одном сервере связываются с базой без сети. psql идёт так, если адрес базы не указан./var/run/postgresql/— папка с файлами-сокетами PostgreSQL в Ubuntu..s.PGSQL.5432— имя файла, 5432 на конце — номер порта базы.No such file or directory— такого файла нет.
Если в сообщении путь /tmp/.s.PGSQL.5432, причина своя.
Шаг 1. Проверьте, есть ли база на этом сервере
Команды вводятся на сервере с базой: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.
pg_lsclustersКоманда покажет базы PostgreSQL на сервере — в PostgreSQL их называют кластерами. В строке каждого кластера есть его состояние: online — работает, down — остановлен.
- Ответ
command not foundили кластеров в списке нет — базы PostgreSQL на этом сервере нет. Если она нужна здесь — как установить. Если база на другом сервере, укажите её адрес. - Кластер в состоянии down — запустите его.
- Кластер online, а ошибка осталась — проверьте порт.
Шаг 2. Запустите базу
Если кластер в состоянии down, запустите его. В Ubuntu кластер, созданный при установке, называется main, 16 — номер версии:
sudo pg_ctlcluster 16 main startЕсли система спросит пароль, введите пароль своего пользователя на сервере, а не пароль базы. Символы при вводе не видны — наберите пароль и нажмите Enter. Проверьте ещё раз командой pg_lsclusters. Если кластер не запускается, причина — в последних строках журнала:
sudo tail -n 30 /var/log/postgresql/postgresql-16-main.logВ примерах — PostgreSQL 16 из Ubuntu 24.04. В Ubuntu 26.04 ставится PostgreSQL 18: в путях и командах вместо 16 подставьте 18.
Шаг 3. Проверьте порт
Посмотрите, какие файлы-сокеты есть в папке:
ls -a /var/run/postgresql/Имя файла-сокета начинается с точки, поэтому он скрытый — его покажет только ключ -a. Для работающей базы в папке есть файл .s.PGSQL. с номером порта на конце. Если номер другой, например .s.PGSQL.5433, база работает на порту 5433. Укажите порт ключом -p:
sudo -u postgres psql -p 5433В настройках сайта укажите тот же порт.
Если в сообщении папка /tmp
Программы из пакетов Ubuntu ищут сокет в /var/run/postgresql/. Папка сокета по умолчанию задаётся при сборке PostgreSQL: путь /tmp/ значит, что psql или программа собраны с другими настройками. Укажите папку сами ключом -h: путь, который начинается с косой черты, psql понимает как папку с файлом-сокетом.
sudo -u postgres psql -h /var/run/postgresqlЕсли база на другом сервере
Без адреса psql ищет базу на этом же сервере. Если база на другом сервере или в облаке провайдера, укажите её адрес ключом -h, вместо 203.0.113.10 — адрес базы:
psql -h 203.0.113.10 -U ivan shopАдрес, имя пользователя и пароль облачной базы — в панели провайдера.
Ошибки рядом
| Что видите | Что делать |
|---|---|
connection to server at … failed: Connection refused | база не принимает подключения по сети |
FATAL: Peer authentication failed for user | имя в системе не совпало с именем в базе |
FATAL: role "anna" does not exist | такого пользователя в базе нет |
Источники
- PostgreSQL 16: Starting the Database Server — раздел Client Connection Problems: Connection refused, нет файла сокета, Connection timed out.
- PostgreSQL 16: Database Connection Control Functions — без адреса программа идёт через файл-сокет; номер порта — окончание имени файла сокета.
- Исходный код PostgreSQL 16: fe-connect.c — начало сообщения psql: socket или server at, и подсказки Is the server running.
- Справка pg_createcluster для Ubuntu 24.04 — сокет в /var/run/postgresql/, файлы кластера в /etc/postgresql/версия/имя/, порт — первый свободный начиная с 5432.
- Справка pg_lsclusters для Ubuntu 24.04 — список кластеров и их состояние: online или down.
- Справка pg_ctlcluster для Ubuntu 24.04 — запуск, остановка, перезапуск и reload кластера, журнал в /var/log/postgresql/.
Сверено 14 октября 2026 года.
Что почитать дальше
- Ошибки PostgreSQLвсе разборы ошибок базы.
- Как установить PostgreSQL на Ubuntuустановка и настройки.
- Порт 5432что слушает порт базы.