Перейти к основному содержимому

Параметры автоочистки

Общие параметры настройки автоочистки

ПараметрОписаниеТипЗначение по умолчаниюОграничение значенияСпециальные значения параметров
autovacuumВключает процесс автоочисткиboolon--
autovacuum_naptimeИнтервал в секундах между запусками автоочисткиint601 - 2147483 (0x7FFFFFFF/1000)-
autovacuum_max_workersМаксимальное количество одновременно запущенных процессов автоочисткиint31 - 262143 (0x7FFFF)-
autovacuum_work_memМаксимальное количество используемой памяти в килобайтах для каждого процесса автоочисткиint-1-1 - 2147483647 (0x7FFFFFFF)-1 - Использование значения maintenance_work_mem
log_autovacuum_min_durationМинимальное время исполнения автоочистки в миллисекундах для вывода логов автоочисткиint600000-1 - 2147483647 (0x7FFFFFFF)0- Выводить все;
-1 - Логи отключены

Параметры условий запуска автоочистки

ПараметрОписаниеТипЗначение по умолчаниюОграничение значенияСпециальные значения параметров
autovacuum_vacuum_thresholdМинимальное количество измененных строк (UDPATE или DELETE) для запуска автоочисткиint500 - 2147483647 (0x7FFFFFFF)-
autovacuum_vacuum_scale_factorМножитель к количеству строк в таблице применительно к autovacuum_vacuum_thresholdreal0.20.0 - 100.0-
autovacuum_vacuum_insert_thresholdМинимальное количество добавленных строк (INSERT) для запуска автоочисткиint1000-1 - 2147483647 (0x7FFFFFFF)-1 - Отключить автоочистку из-за добавления строк
autovacuum_vacuum_insert_scale_factorМножитель к количеству строк в таблице применительно к autovacuum_vacuum_insert_thresholdreal0.20.0 - 100.0-
autovacuum_analyze_thresholdМинимальное количество операций со строками (INSERT, UPDATE, DELETE) для обновления статистикиint500 - 2147483647 (0x7FFFFFFF)-
autovacuum_analyze_scale_factorМножитель к количеству строк в таблице применительно к autovacuum_analyze_thresholdreal0.10.0 - 100.0-

Параметры заморозки строк и таблиц

ПараметрОписаниеТипЗначение по умолчаниюОграничение значенияСпециальные значения параметров
vacuum_freeze_min_ageВозраст строк для заморозки при автоочисткеint64500000000 - 0x7FFFFFFFFFFFFFFF-
vacuum_multixact_freeze_min_ageВозраст строк для заморозки MultiXactIdint64500000000 - 0x7FFFFFFFFFFFFFFF-
vacuum_freeze_table_ageВозраст таблицы для сканирования всей таблицы и заморозки всех строк (агрессивная автоочистка)int641500000000 - 0x7FFFFFFFFFFFFFFF-
vacuum_multixact_freeze_table_ageВозраст мультитранзакций для агрессивной автоочисткиint641500000000 - 0x7FFFFFFFFFFFFFFF-
autovacuum_freeze_max_ageВозраст для агрессивной автоочистки от переполнения xid («to prevent wraparound»)int6410000000000100000 - 0x7FFFFFFFFFFFFFFF-
autovacuum_multixact_freeze_max_ageВозраст мультитранзакций для агрессивной автоочистки от переполнения MultiXact («to prevent wraparound»)int642000000000010000 - 0x7FFFFFFFFFFFFFFF-
autovacuum_disable_freeze_max_ageПри включении параметра кластер игнорирует пороги для агрессивной автоочистки, предназначенной для защиты от переполнения счетчика транзакций (autovacuum_freeze_max_age и autovacuum_multixact_freeze_max_age)booloff--

Параметры для 32-битных счетчиков

ПараметрОписаниеТипЗначение по умолчаниюОграничение значенияСпециальные значения параметров
vacuum_multixact_failsafe_ageВозраст мультитранзакций для аварийной агрессивной автоочистки от переполнения MultiXact («to prevent wraparound»)int16000000000 - 2100000000-
vacuum_failsafe_ageВозраст для аварийной агрессивной автоочистки от переполнения xid («to prevent wraparound»)int16000000000 - 2100000000-

Параметры для добавления порогов срабатывания автовакуума и автосбора статистики по длительности времени от последнего срабатывания

Параметр

Описание

Значения

autovacuum_timeout_threshold_enable

Управляет порогом по времени для таблицы

  • on – порог по времени для таблицы проверяется
  • false – порог по времени для таблицы не проверяется

autovacuum_vacuum_timeout

Задает время в минутах, которое должно пройти с последнего VACUUM (время последнего VACUUM вычисляется как максимум из last_vacuum и last_autovacuum), если с момента последнего VACUUM прошло больше времени, то порог сработает и таблица будет добавлена в список на очистку

autovacuum_analyze_timeout

Задает время в минутах, которое должно пройти с последнего ANALYZE (время последнего ANALYZE вычисляется как максимум из last_analyze и last_autoanalyze), если с момента последнего ANALYZE прошло больше времени, то порог сработает и таблица будет добавлена в список на очистку

Параметры автоматического анализа партиционированных таблиц

Параметр

Тип

Описание

Ограничение значения

Значение по умолчанию

autovacuum_analyze_partitioned_table

boolean

Включает ANALYZE для родительской партиционированной таблицы

on/off

off

autovacuum_analyze_toasted_child_fraction

float

Контролирует количество TOAST-секций

0.0 - 1.0

1.0

autovacuum_analyze_mode

enum

Задает алгоритм выбора секций с TOAST

off, size, oid, random, gather

size

autovacuum_analyze_desired_target_rows

integer

Определяет желаемое количество кортежей для анализа партиционированной таблицы (табличный параметр)

1 - 2^31-1

0 (не задано)

autovacuum_analyze_scale_partitions

boolean

Включает автоматический расчет количества кортежей для анализа на основе количества партиций по формуле target_rows * ln(number_of_partitions + 1) или autovacuum_analyze_desired_target_rows * ln(number_of_partitions + 1), если параметр задан и его значение больше target_rows (табличный параметр)

true/false

false