Техническая база знаний T-Wiki.ru

Инструменты пользователя

Инструменты сайта


articles:armers:dbmaintance

Обслуживание базы данных 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 за некоторую информацию взятую оттуда.

articles/armers/dbmaintance.txt · Последнее изменение: 2023/03/17 09:41 — dragdrop