Postgresql 9.2.1 не удалось инициализировать после полного вакуума в автономном бэкэнд-режиме
В postgresql версии 9.2.1 база данных не принимала никаких команд, чтобы избежать wraparouond dataloss. Следующая ошибка произошла в pg_log:
ОШИБКА: база данных не принимает команды, чтобы избежать потери данных в базе данных "XXX". СОВЕТ: Остановите почтмейстер и используйте автономный бэкэнд для очистки этой базы данных. Вам также может потребоваться зафиксировать или откатить старые подготовленные транзакции.
Я выполнил вакуум для базы данных XXX в автономном бэкэнд-режиме. После этого я попытался перезапустить pgsql, теперь сервер pgsql отклоняет соединения. при выполнении команды pg_isready хост отклоняет соединения.
Есть ли что-то, что я должен сделать после завершения процесса вакуумирования? Каковы возможные причины для сервера postgres не удалось запустить? Заранее спасибо.
1 ответ
В однопользовательском режиме запустите
SELECT datname, datfrozenxid FROM pg_database;
чтобы увидеть, какие базы данных необходимо пылесосить (те, с наименьшими значениями).
Бежать VACUUM (FREEZE)
в этих базах не VACUUM (FULL)
,