PostgreSQL: Connection refused на порту 5432 — что делать
Connection refused значит, что на этом адресе и порту подключения никто не ждёт: база остановлена, работает на другом порту или принимает подключения только с самого сервера. До проверки пароля дело не дошло.
Содержание 8
Как выглядит ошибка
psql: error: connection to server at "127.0.0.1", port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?at "127.0.0.1", port 5432— куда подключались. Если указано имя, например localhost, рядом в скобках будет адрес, в который оно превратилось.Connection refused— на этом порту никто не принимает подключения.- Вторая строка — подсказка psql: запущена ли база на том компьютере и принимает ли она подключения по сети.
Слова FATAL: в сообщении нет: до самой базы подключение не дошло. Если вместо Connection refused — Connection timed out или долгое ожидание, причина другая.
Шаг 1. Проверьте, запущена ли база
Команды вводятся на сервере с базой: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.
pg_lsclustersКоманда покажет базы PostgreSQL на сервере — в PostgreSQL их называют кластерами. В строке каждого кластера есть его состояние: online — работает, down — остановлен. Если ответ command not found, PostgreSQL на этом сервере не установлен — как установить.
Если кластер в состоянии 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.
Шаг 2. Проверьте порт
Сравните порт в сообщении об ошибке с портом базы. Порт задан в файле настроек:
grep '^port' /etc/postgresql/16/main/postgresql.confВ ответе — строка с номером порта. Ubuntu даёт новому кластеру первый свободный порт начиная с порта 5432. Если на сервере уже была база PostgreSQL, следующая получит другой порт, например 5433, — тогда укажите его в настройках сайта или в psql ключом -p:
psql -h 127.0.0.1 -p 5433 -U ivan shopШаг 3. Если подключаетесь с другого компьютера
По умолчанию PostgreSQL принимает подключения только с самого сервера: настройка listen_addresses равна localhost. Подключение на внешний адрес сервера получит Connection refused, даже если база работает.
- Со своего компьютера подключайтесь через SSH-туннель — порт открывать не нужно: как это сделать.
- С другого сервера нужно изменить listen_addresses, разрешить адрес в pg_hba.conf и открыть порт в фаерволе только для этого адреса — пошагово. listen_addresses применяется только после перезапуска:
sudo systemctl restart postgresql.
sudo ufw allow 5432: подбирать пароли к базе сможет кто угодно.Если Connection timed out
Connection timed out значит, что ответа не пришло вовсе: подключение не пропускает фаервол или сеть. Проверьте адрес сервера, правила фаервола на сервере (команда ufw) и в панели провайдера, если там есть свой фаервол.
Ошибки рядом
| Что видите | Что делать |
|---|---|
on socket … failed: No such file or directory | нет файла сокета |
FATAL: no pg_hba.conf entry for host | подключение не разрешено в pg_hba.conf |
FATAL: password authentication failed | пароль не подошёл |
Источники
- PostgreSQL 16: Starting the Database Server — раздел Client Connection Problems: Connection refused, нет файла сокета, Connection timed out.
- Исходный код PostgreSQL 16: fe-connect.c — начало сообщения psql: socket или server at, и подсказки Is the server running.
- PostgreSQL 16: Connections and Authentication — listen_addresses, port, max_connections и superuser_reserved_connections; все меняются только перезапуском.
- Справка pg_lsclusters для Ubuntu 24.04 — список кластеров и их состояние: online или down.
- Справка pg_ctlcluster для Ubuntu 24.04 — запуск, остановка, перезапуск и reload кластера, журнал в /var/log/postgresql/.
- Справка pg_createcluster для Ubuntu 24.04 — сокет в /var/run/postgresql/, файлы кластера в /etc/postgresql/версия/имя/, порт — первый свободный начиная с 5432.
- Документация Ubuntu Server: Install PostgreSQL — peer для подключений через сокет, scram-sha-256 для сетевых, настройки в /etc/postgresql/.
Сверено 14 октября 2026 года.
Что почитать дальше
- Ошибки PostgreSQLвсе разборы ошибок базы.
- Порт 5432что слушает порт и как подключиться через SSH-туннель.
- Как не открыть базу всему интернетуподключения с другого сервера.
- Как установить PostgreSQL на Ubuntuустановка и настройки.