5.20. Обслуживание репозитория #

Некоторые таблицы базы данных репозитория могут переполняться, например, таблицы, содержащие метрики и журналы. Чтобы избежать переполнения таблиц, PPEM использует правила очистки. Правило очистки очищает таблицу за счёт удаления данных, которые хранятся дольше указанного количества времени. Такое правило может быть набором из одного или нескольких условий, содержащих поле таблицы, логический оператор и значение или функцию.

Если правило очистки представляет собой набор из нескольких условий, используется логическая связка AND.

Например, правило очистки может удалять данные таблицы, хранящиеся дольше 12 часов, и включать в себя условие, которое содержит поле таблицы oid, логический оператор > и значение 10. При таком правиле данные таблицы удаляются через 12 часов и если значение поля таблицы oid превышает 10.

Правила очистки можно отметить как автозапускаемые. В этом случае они очищают таблицу с указанным интервалом времени.

В этом разделе описано, как управлять правилами очистки, и приведены следующие инструкции:

Важно

Функциональность правил очистки находится в стадии бета-тестирования. Она будет обновляться и расширяться в дальнейшем.

Создание правила очистки

  1. В навигационной панели перейдите в НастройкиРепозиторий.

  2. В правом верхнем углу страницы нажмите Создать правило.

  3. Укажите параметры нового правила очистки (помеченные звёздочкой параметры являются обязательными):

    • Экземпляр: экземпляр, в котором расположена база данных репозитория.

      Значение подставляется автоматически.

    • Имя.

    • Схема: схема, в которой размещена таблица.

    • Таблица: таблица, которая будет очищена.

    • Столбец для оценки возраста: столбец таблицы, который содержит временную метку для определения возраста данных.

    • Хранение: максимальное время, в течение которого данные таблицы могут храниться перед удалением.

      Укажите значение в одном из следующих форматов:

      • <количество_часов>h<количество_минут>m, например 24h00m

      • <количество часов>h, например 24h

      • <количество_минут>m, например 24m

    • Автозапуск по расписанию: указывает, является ли правило очистки автозапускаемым или нет.

      Если этот переключатель активирован, укажите интервал времени для очистки таблицы одним из следующих способов:

      • В поле Расписание в виде cron-строки введите строку в формате crontab.

      • Нажмите Настроить расписание, затем укажите следующие параметры:

        • Интервал: единицы измерения интервала времени.

          Возможные значения:

          • Минуты

          • Часы

          • Дни

        • Повторять каждые: интервал времени для очистки таблицы по минутам или часам.

          Этот параметр доступен, только если в разделе Интервал вы выбираете Минуты или Часы.

        • Дни выполнения: дни, когда таблица будет очищаться.

        • Итоговая cron‑строка: строка в формате crontab, задающая интервал времени для очистки таблицы.

          Значение подставляется автоматически.

        После настройки интервала времени нажмите Сохранить.

    • Описание.

    • Дополнительные условия: условия правила очистки.

      Чтобы добавить условие правила очистки, нажмите Добавить условие, затем укажите следующие параметры:

      • Поле: поле таблицы для условия правила очистки.

      • Условие: логический оператор условия.

        Возможные значения:

        • =

        • IN

        • NOT IN

        • LIKE

        • NOT LIKE

        • >

        • <

        • REGEXP

        • NOT REGEXP

      • Тип значения: тип значения условия.

        Возможные значения:

        • Литерал

        • Функция

          В настоящий момент единственная доступная функция — now. Эта функция принимает значение текущей временной метки.

      • Значение: значение условия.

      Например, если вы выбираете oid из выпадающего списка Поле, = из выпадающего списка Условие, Литерал из выпадающего списка Тип значения и вводите 10 в поле Значение, данные удаляются, если значение поля таблицы oid равно 10.

      После настройки условия правила очистки нажмите Сохранить.

      Вы можете добавить несколько условий, нажав Добавить условие. В этом случае используется логическая связка AND.

    • Действия после очистки: действие, которое будет выполнено после очистки таблицы.

      Чтобы добавить действие, нажмите Добавить действие, затем выберите действие. В настоящий момент единственное доступное действие — очистка (vacuuming).

      Вы также можете установить следующие флажки:

      • Analyze: обновить статистику таблицы.

      • Full: выполнить команду VACUUM FULL.

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

      • Freeze: выполнить агрессивную заморозку кортежей.

        Это равносильно запуску команды VACUUM с параметром vacuum_freeze_min_age, для которого задано значение 0.

      После добавления действия нажмите Сохранить.

      Вы можете добавить несколько действий, нажав Добавить действие.

  4. Нажмите Создать.

Просмотр правил очистки

В навигационной панели перейдите в НастройкиРепозиторий.

Отобразится таблица правил очистки со следующими столбцами:

  • ID.

  • Имя.

  • Хранение: максимальное время, в течение которого данные таблицы могут храниться перед удалением.

  • Автозапуск: указывает, является ли правило очистки автозапускаемым.

    Возможные значения:

    • По расписанию: правило очистки — автозапускаемое.

    • Отключен: правило очистки — неавтозапускаемое.

  • Расписание: интервал времени в формате crontab для очистки таблицы.

  • Статус.

    Возможные значения:

    • Завершено: таблица успешно очищена.

    • Выполняется: происходит очистка таблицы.

    • Ошибка: при очистке таблицы возникла ошибка.

    • Отменено: очистка таблицы была отменена.

  • Последний запуск: дата и время последней очистки таблицы.

  • Схема: схема, в которой размещена таблица.

  • Таблица: таблица, для которой выполняется очистка.

  • Освобождено: количество удалённых данных таблицы.

    Вы можете просмотреть следующие параметры таблицы, наведя курсор на отображаемое значение:

    • Освобождено.

    • Текущий размер.

    • Прежний размер.

    • Снижение: процент снижения размера таблицы.

  • Действия.

    За подробной информацией о доступных действиях обратитесь к другим инструкциям в этом разделе.

Просмотр подробной информации о правиле очистки

  1. В навигационной панели перейдите в НастройкиРепозиторий.

  2. Нажмите Просмотреть детали рядом с правилом очистки.

Откроется окно с подробной информацией о правиле очистки. На вкладке Последний запуск отображаются следующие параметры последней очистки таблицы:

  • Статус.

  • Начало: дата и время начала очистки таблицы.

  • Завершение: дата и время окончания очистки таблицы.

  • Длительность: продолжительность очистки таблицы.

  • ID процесса очистки.

  • Размер таблицы до очистки.

  • Размер таблицы после очистки.

  • Освобождено: количество удалённых данных таблицы.

На вкладке Параметры отображаются следующие параметры правила очистки:

  • Экземпляр: экземпляр, в котором расположена база данных репозитория.

  • ID.

  • Тип: указывает, является ли правило очистки системным или пользовательским.

    Возможные значения:

    • Системное

    • Пользовательское

  • Схема: схема, в которой размещена таблица.

  • Таблица: таблица, для которой выполняется очистка.

  • Столбец для оценки возраста: столбец таблицы, который содержит временную метку для определения возраста данных.

  • Хранение: максимальное время, в течение которого данные таблицы могут храниться перед удалением.

  • Автозапуск: указывает, является ли правило очистки автозапускаемым.

    Возможные значения:

    • По расписанию: правило очистки — автозапускаемое.

    • Отключен: правило очистки — неавтозапускаемое.

  • Расписание в виде cron‑строки: интервал времени в формате crontab для очистки таблицы.

  • Описание.

  • Дополнительные условия: таблица с условиями правила очистки.

    Эта таблица содержит следующие столбцы:

    • Поле: поле таблицы для условия правила очистки.

    • Условие: логический оператор условия.

      Возможные значения:

      • =

      • IN

      • NOT IN

      • LIKE

      • NOT LIKE

      • >

      • <

      • REGEXP

      • NOT REGEXP

    • Значение: значение условия.

Запуск правила очистки

Если правило очистки — автозапускаемое, его можно запустить вручную, чтобы незамедлительно очистить таблицу.

Чтобы запустить правило очистки:

  1. В навигационной панели перейдите в НастройкиРепозиторий.

  2. Нажмите Запустить сейчас рядом с правилом очистки.

  3. Нажмите Запустить сейчас.

Редактирование правила очистки

  1. В навигационной панели перейдите в НастройкиРепозиторий.

  2. Нажмите Значок в виде трёх вертикальных точекРедактировать рядом с правилом очистки.

  3. Отредактируйте параметры правила очистки.

  4. Нажмите Сохранить.

Удаление правила очистки

Важно

  • Системные правила очистки невозможно удалить.

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

  1. В навигационной панели перейдите в НастройкиРепозиторий.

  2. Нажмите Значок в виде трёх вертикальных точекУдалить рядом с правилом очистки.

  3. Нажмите Удалить.