PostgreSQL LinuxWindowsmacOS

PostgreSQL: FATAL: database "name" does not exist

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

База не создана или указано неверное имя. Создайте её командой CREATE DATABASE или проверьте строку подключения.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
database does not exist

База не создана или указано неверное имя. Создайте её командой CREATE DATABASE или проверьте строку подключения.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
База не созданаИмя базы действительно отсутствует в кластере.Проверьте резервную копию и администратора, не создавайте пустую базу.
ОпечаткаИмя содержит опечатку или регистр не совпадает.Исправьте dbname в строке подключения.
Другой кластерПодключение идёт к другому порту/кластеру.Сверьте host/port и список баз.
Имя пользователя как БДdbname не задан — используется имя пользователя.Явно установите правильное имя базы.

#Пошаговое решение

  1. Проверьте имя базы в подключенииПри FATAL: database "name" does not exist запишите host, port, имя базы и пользователя из настроек приложения без пароля. PostgreSQL без параметра dbname может попытаться открыть базу с именем пользователя; проверьте, задано ли имя явно.
  2. Подключитесь к существующей служебной базеНа машине, где установлен psql, выполните psql -h ХОСТ -p 5432 -U ПОЛЬЗОВАТЕЛЬ -d postgres с фактическими адресом, портом и логином; пароль вводите только в защищённый запрос, не в аргументы команды. Внутри psql выполните \l для списка баз, затем \q для выхода. Если базы postgres нет, администратор укажет существующую административную базу.
  3. Исправьте ошибку адреса или имениЕсли нужная база отображается в списке, исправьте dbname/PGDATABASE в конфигурации приложения и проверьте порт именно того экземпляра. Смешение тестового и рабочего кластера часто приводит к ложному выводу об утрате данных. Не создавайте пустую одноимённую базу вместо прежней до проверки резервных копий.
  4. Проверьте соединение с правильной базойПопробуйте psql -h ХОСТ -p 5432 -U ПОЛЬЗОВАТЕЛЬ -d ИМЯ_БАЗЫ с корректными значениями, затем SELECT current_database();. Если подключение успешно, повторите операцию приложения. При новой ошибке доступа смотрите роли отдельно; не выдавайте SUPERUSER ради подключения.

#Если проблема осталась

Если «PostgreSQL: FATAL: database "name" does not exist» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.