Иногда в нашей лаборатории наша база данных postgres 8.3 будет потеряна из pid файла, и мы получим это сообщение при попытке закрыть базу данных:
Error: pid file is invalid, please manually kill the stale server process postgres
Когда это произойдет, мы немедленно сделаем pg_dump
, чтобы позже восстановить базу данных. Но если мы просто убиваем -9 процесс сирота postgres
, а затем запускаем его, база данных начинается только с данных последнего успешного завершения. Но если вы psql
к нему, прежде чем убить его, все данные доступны, поэтому работает pg_dump
.
Есть ли способ изящно закрыть процесс осиротевших postgres, поэтому нам не нужно проходить через pg_dump и восстанавливать? Или есть способ восстановить базу данных после убийства осиротевшего процесса?