Ошибка «Не удалось запустить initdb» PostgreSQL | PGLens.

Ошибка «не удалось запустить initdb» при установке PostgreSQL

Ошибка «Не удалось запустить initdb» (Failed to initialise the database cluster with initdb) возникает на этапе инициализации кластера: установщик не смог создать структуру каталога данных. Чаще всего дело в правах доступа к каталогу или в том, что он не пустой. Точную причину показывает лог установки.

С чего начать

Откройте лог установщика. Под Windows это bitrock_installer.log в каталоге %TEMP% – в нем записана точная строка сбоя initdb. На Linux смотрите вывод инициализации и логи в /var/log/postgresql/:

%TEMP%\bitrock_installer.log

Что проверить

  1. Каталог данных должен быть пустым. initdb отказывается инициализировать непустую директорию, чтобы не затереть существующие данные. Если PostgreSQL уже ставился по этому пути, очистите или удалите старый каталог данных (убедившись, что в нем нет нужных баз).
  2. Проверьте права на каталог данных. Под Windows у служебной учетной записи должен быть полный доступ к папке – частый сбой возникает на внешних и несистемных дисках; права выдаются на вкладке «Безопасность» в свойствах папки. Под Linux initdb запускается от пользователя postgres, а не от root:
    sudo -u postgres initdb -D /var/lib/pgsql/data
  3. Убедитесь, что порт 5432 свободен. Если его занял другой экземпляр PostgreSQL, Docker или иная служба, инициализация и запуск завершаются ошибкой – задайте свободный порт при установке.
  4. Только Windows: проверьте службу «Вторичный вход в систему» (Secondary Logon) – установщик выполняет инициализацию через initcluster.vbs в отдельном контексте пользователя. Также проверьте ассоциацию .vbs в реестре (HKEY_CLASSES_ROOT\.vbs = VBSFile) и что не отключен Windows Script Host.

Ручная инициализация

Если установщик стабильно не проходит этот шаг, откажитесь от автоматической инициализации и выполните initdb вручную из каталога bin, указав пустой каталог данных и локаль. При установке под 1С задается локаль Russian_Russia.1251 с кодировкой UTF8.

Проверьте PGLens
на своих данных

Подключите PGLens к своим экземплярам и получите структурированную картину нагрузки вместо разрозненных данных из логов и системных представлений.

  • Картина нагрузки по подключенным экземплярам в динамике
  • Ранжированный список самых тяжелых запросов
  • Моделирование индексов с расчетом выигрыша в стоимости запроса

    * - обязательные поля

    Напишите нам
    Удобнее с телефона?
    Сканируйте QR