Первые шаги при возникновении ошибки в БД системы Overseer
Введение
При возникновении сообщений ОС либо системы распознавания про ошибки с БД, следует выполнить несколько действий по локализации и возможному исправлению проблемы, в том числе убедиться, что:
- на диске, где расположена БД, достаточно места для ее нормальной работы;
- в БД удалены времененные и нет потерянных данных;
- служба PostgreSQL запущена;
- не повреждены логи транзакций БД.
Проверить количество свободного места на диске
В случае, если свободного места недостаточно (при использовании рекомендованных настроек работы с БД в системе минимально необходимо около 1,5 ГБ), следует очистить компьютер от временных файлов, файлов в Корзине, лишних программ, установленных в операционной системе.
Удаление временных, потерянных данных в БД
При выполнении действий с БД рекомендуется предварительно завершить работу с системой распознавания. Для работы с БД следует запустить программу pgAdmin (инструкция по запуску описана тут).
Если требуется проверка работоспособности утилиты, следует выполнить команду:
vacuumdb test;
Для очистки БД от временных и "потерянных" данных, следует выполнить команду:
vacuum full;
Если при выполнении очистки возникли ошибки, которые касаются файлов индексов, следует пересоздать файлы индексов для упомянутых в сообщениях об ошибках таблиц, как в примере и заново запустить vacuum. Если после выполнения данных действий снова возникают сообщения об ошибках - вероятно, БД повреждена и ее не удастся восстановить без потери данных.
Запуск и перезапуск службы PostgreSQL
Для того, чтобы перезапустить службу PostgreSQL требуется:
- нажать комбинацию клавиш Win+R;
- ввести taskmgr в открывшемся окне для запуска диспетчера задач;
- на вкладке Службы найти службу с названием postgresql-9.0 - PostgreSQl Server 9.0;
- кликнуть правой кнопкой мыши на строке службы и выбрать пункт меню Перезапустить, в том случае, если служба не запущена, следует выбрать пункт меню Старт.
Проверка, что логи транзакций в БД не повреждены
Для запуска утилиты следует:
- нажать комбинацию клавиш Win+R
- в открывшемся окне «Выполнить» ввести команду cmd;
- ввести команду cd PosgreSQL\bin\ в открывшемся окне для перехода в папку PostgreSQL;
- ввести команду pg_resetxlog "datadirectory", де datadirectory - полный адрес каталога данных БД PostgreSQL, как правило, это C:\postgre\data.
Далее, требуется запустить службу postgresql, как было описано ранее.
Если при запуске утилиты выдаются сообщения об ошибке касательно отсутствия или повреждения файлов, или же запуск службы postgresql-9.0 - PostgreSQl Server 9.0 не происходит - повреждены логи транзакций в БД. Следует обратиться к Вашему системному администратору для устранения данной проблемы.
Если в результате выполнения вышеперечисленных действий не удалось исправить проблему, обратитесь к представителю службы поддержки.