почему postgresql не делает initdb при запуске?

При удалении компьютера из домена (который Вы имеете, если Вы присоединились к рабочей группе), то доменные учетные записи больше не будут работать над этой машиной.

Необходимо войти в систему с локальной учетной записью, если Вы не знаете учетные данные для локальной учетной записи затем, Вы оказываетесь перед необходимостью смотреть на некоторые альтернативные методы для сброса их. Смотрите на эту статью для методов при выполнении этого. У меня был наибольший успех в прошлом с Offline NT Password & Registry Editor

0
задан 10 August 2011 в 10:31
1 ответ

Это изменение было внесено, потому что это было неожиданное нежелательное поведение для людей, которые в конечном итоге намеревались поместить базу данных в другое место, кроме места по умолчанию - чрезвычайно распространенное изменение. Тот факт, что более старые версии включали этап initdb в запуск, был для них проблемой. Более новые версии избегают этого, делая это явным шагом. Это по-прежнему просто, это просто не автоматический способ, который может делать что-то неправильно для людей, настраивающих пункт назначения. Я не уверен, в какой именно версии было внесено это изменение, но это была версия 8.2 или 8.3. Пробыл там достаточно долго, чтобы вернуться к исходному поведению сейчас маловероятно.

Если вы хотите автоматизировать это в режиме кикстарта, вам нужен сценарий, который настраивает вещи в том случае, если они еще не верны. Вот' s тип кода, который необходимо запускать при загрузке:

PGDATA=/var/lib/pgsql/data
. /etc/sysconfig/pgsql/postgresql
if [ ! -f "$PGDATA/PG_VERSION" ] ; then
  /sbin/service postgresql initdb
  /sbin/service postgresql start
fi

Вы можете поместить его в отдельный сценарий инициализации или просто настроить /etc/rc.d/rc.local и включить его туда . Написанный таким образом, каждый раз это будет быстрая безвредная проверка. Возможно, удастся полностью устранить его после однократного запуска, используя что-то вроде сценария инициализации firstboot.

0
ответ дан 5 December 2019 в 17:00

Теги

Похожие вопросы