Найти тему
Будни одинэсника | 1С

Что делать, если не запускается служба PostgresSQL?

Неожиданно отключили свет в офисе и сервер PostgresSQL перестал запускаться, что делать?

Зачастую проблема решается достаточно просто, но в некоторых случаях придется восстанавливать базу из резервной копии.

В статье рассмотрю два варианта, когда нужно просто очистить кэш сервера.

Рассматривать пример работы будем на PostgresSQL 11.7 под операционной системой Windows.

⛔️ ВАЖНО. Выполнение любых операций с базой данных нужно производить при наличии актуальной резервной копии базы данных!

Инструкция по резервному копированию баз на PostgresSQL

Очистка кэша PostgresSQL

Для очистки кэша воспользуемся утилитой — pg_resetwal.

pg_resetwal очищает журнал предзаписи (WAL) и может сбросить некоторую другую управляющую информацию, хранящуюся в файле pg_control. Данная функция может быть востребована при повреждении этих файлов. Использовать её нужно только как крайнюю меру, когда запуск сервера оказывается невозможен из-за этого повреждения.

После выполнения этой команды запуск сервера, скорее всего, будет возможен, однако стоит учитывать, что база данных может содержать несогласованные данные из-за транзакций, зафиксированных частично. Вы должны немедленно выгрузить данные, а затем восстановить данные. После этого проверьте целостность базы и внесите необходимые коррективы.

Команда:

"C:\Program Files\PostgreSQL\11.7-5.1C\bin\pg_resetwal.exe" -f -D "C:\Program Files\PostgreSQL\11.7-5.1C\data"

После параметра -D указывается путь к каталогу, где хранятся базы Postgres. Этот путь может отличаться от представленного в примере.

Для запуска команды нужно запустить Командную строку Windows под правами Администратора.

Через поиск вводим команду CMD, далее щелкаем по найденной утилите правой кнопкой мышки и выбираем пункт — Запуск от имени Администратора. Далее в открывшейся консоли вводим нашу команду:

После выполнения команды можно пробовать запускать службу сервера PostgresSQL.

#1с #базаданных #postgresql #резервноекопирование #восстановлениеданных #windows #сервер