Конфигурация
greenplum.smart_vacuum
Настройка параметров vacuum
Для изменения параметров vacuum необходимо использовать опции следующего скрипта:
Опции (options) скрипта:| Опция | Значение / Тип данных значения | Описание |
|---|---|---|
-h |
string | GreenPlum active master hostname/IP |
-u |
string | GreenPlum cluster valid admin account |
-p |
string | GreenPlum cluster admin password |
-t |
integer | Job execution time limit (seconds) |
-s |
integer | Min table vacuum age, when vacuum will be performed, considering dead tuples count (hours) |
-r |
integer | Min table vacuum age, when vacuum will be performed obligatorily (hours) |
-c |
integer | Min dead tuples count, when vacuum will be performed |
-f |
yes|no | Full vacuum is allowed |
-z |
yes|no | Do analyze for every table immediately after its vacuum. Don't analyze whole database after vacuum cycle is complete |
-a |
yes|no | Do analyzedb with --full option. (Only available, if -z set to "no") |
-g |
yes|no | Show debug messages |
Настройка crontab
Примеры настроек crontab-файла для автоматизации процессов vacuum и analyze:
-
Ежедневный vacuum и analyze:
-
Еженедельный vacuum и analyze с полным обновлением статистики:
-
Еженедельный vacuum каталога:
-
Ежемесячный полный vacuum каталога с простоем:
Добавление исключений
Для исключения определенных таблиц или целых схем из процесса вакуумирования использовать таблицу исключений do_awh_toolkit.smart_vacuum_exclusions.
Если в поле schema_exclusion указано значение, отличное от null, а в поле relation_exclusion указано значение null, то все таблицы схемы будут пропущены.
Примеры добавления исключений:
- Добавление исключения для одной таблицы:
- Добавление исключения для целой схемы с соответствующими таблицами:
- Добавление исключения с использованием подстановочных знаков: В данном примере все таблицы, начинающиеся с префикса s и tab, будут исключены из процесса вакуумирования.
greenplum.sessions_management
-
Настройка профиля по умолчанию:
-
Добавление профилей пользователей и расписаний:
-
Добавление исключений:
Настройка crontab
Примеры настроек crontab-файла для управления сессиями:
- Завершение проблемных сессий каждые 5 минут:
- Логирование сессий каждые 5 минут без их завершения:
greenplum.partition_management
Добавление партицированных таблиц для обслуживания:
insert into do_awh_toolkit.partitions_mgmt_control (nspname, tabname, prt_length, prt_lifetime, prt_options)
values('s1', 't1', '1 day', '1 mon', 'appendonly=''true'', compresstype=''zstd''')
;
Настройка crontab
Пример настройки crontab-файла для обслуживания партиций:
Еженедельное обслуживание партиций:
0 3 * * 6 /home/gpadmin/do_awh_toolkit/partition_mgmt/partition_maintenance.sh <dbname> >> /home/gpadmin/do_awh_toolkit/logs/partitions_maintenance_`date +\%F`.log 2>&1
greenplum.purge_gp_logs
Редактирование конфигурационного файла в директории установки:
Настройка crontab
Пример настройки crontab-файла для очистки логов:
Ежедневная ротация логов:
Возможно использование опции -f для переопределения конфигурационного файла по умолчанию.