Обслуживание базы данных PostgreSQL АРМ ЭРС/АРМ ЭЛН
Чтобы обслужить базу данных и держать ее состояние в тонусе - нужно периодически проводить определенные процедуры
Доступ к СУБД
Для доступа в админку СУБД нужно перейти в: C:\postgresql\bin
Запустить файл: pgAdmin3.exe
Правой кнопкой мыши на БД - Подключиться
Логин: postgres Пароль: Manager1
Обслуживание БД
Правой кнопкой мыши на БД - Обслуживание
Появится следующее окно:
Операция VACUUM:
- Выполняется для освобождения дискового пространства, занятого измененными или удаленными строками
- Обновляет статистику по данным, которые используют планировщики запросов PostgreSQL
- Обновляет карту видимости, которая ускоряет сканирование индекса
- Предотвращает потерю очень старых данных
У VACUUM есть два параметра: FULL и ANALYZE
VACUUM FULL совершит попытку удалить все старые версии записей и уменьшит размер файла, содержащего таблицу. Полностью блокирует доступ к таблице.
VACUUM ANALYZE обновляет статистику по таблице которая используется оптимизатором запросов
Операцию VACUUM FULL рекомендуется запускать не чаще раза в неделю
Операция ANALYZE
Служит для обновления информации о распределении данных в таблице. Эта информация используется оптимизатором для выбора наиболее быстрого плана выполнения запроса.
Обычно команда используется в связке VACUUM ANALYZE. Если в базе есть таблицы, данные в которых не изменяются и не удаляются, а лишь добавляются, то для таких таблиц можно использовать отдельную команду ANALYZE. Также целесообразно использовать эту команду для отдельной таблицы после добавления в нее большого количества записей.
Операция REINDEX
Операция REINDEX используется для перестройки существующих индексов. Ее использование целесообразно в следующих случаях:
- порча индекса;
- постоянное увеличение размера индекса.
Итог
Для проведения технического обслуживания рекомендуется выполнить операции REINDEX и VACUUM (FULL, ANALYZE) в нерабочее время, т.к. операции блокируют доступ к БД, а также частота проведения данных операций зависит от скорости заполнения БД новыми или измененными данными.
Спасибо ресурсу jupiter8.ru за некоторую информацию взятую оттуда.
Всем, кому понравился или помог этот проект - Вы можете помочь ему развиваться материально: