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

Подсказки для настройки параметров автоочистки

В таблице ниже перечислены типичные проблемы и методы их решения.

ПараметрРекомендуется
Автоочистка срабатывает недостаточно часто
autovacuum_vacuum_scale_factorСнизить порог, чтобы чаще запускать очистку. Полезно для больших таблиц с большим количеством обновлений/удалений
autovacuum_vacuum_insert_scale_factorСнизить порог, чтобы чаще запускать очистку для больших таблиц с большим количеством вставок
Очистка происходит слишком медленно
autovacuum_vacuum_cost_delayУменьшить продолжительность паузы «вежливого» режима, чтобы ускорить очистку
autovacuum_vacuum_cost_limitУвеличить объем порции «вежливого» режима до наступления паузы, уменьшая частоту пауз и ускоряя очистку
autovacuum_max_workersУвеличить, чтобы запускать больше параллельных обработчиков автоочистки при необходимости
shared_buffersУвеличить объем кеша в разделяемой памяти, если есть ресурсы. Кеширование блоков ускорит очистку
autovacuum_work_memУвеличить, чтобы расширить в каждом обработчике автоочистки буфер в памяти для хранения списка устаревших записей. -1 – использовать maintenance_work_mem
maintenance_work_memЗадает размер буфера для списка устаревших записей, если autovacuum_work_mem = -1
max_parallel_maintenance_workersУвеличить количество индексов, одновременно обрабатываемых командой VACUUM в параллельном режиме (не автоочистка)
Очистка не очищает устаревшие записи
statement_timeoutНастроить, чтобы автоматически завершать длительно выполняемые запросы по таймауту
idle_in_transaction_session_timeoutНастроить, чтобы автоматически завершать по таймауту бездействующие сессии с открытой транзакцией
hot_standby_feedbackВ Pangolin по умолчанию on - реплика отправляет лидеру отзывы о выполняемых запросах, обновляет отметку для удержания версий. Если реплика не относится к кластерной конфигурации и часто отстает, можно рассмотреть выключение hot_standby_feedback на этой реплике
vacuum_defer_cleanup_ageНастроить на лидере, чтобы отложить очистку версий строк до тех пор, пока не пройдет указанное количество транзакций. Позволяет увеличить окно выполнения без возникновения конфликтов для запросов на реплике при отключенном hot_standby_feedback
old_snapshot_thresholdНастроить, чтобы разрешить очистку версий записей, которые могли бы понадобиться слишком старым снимкам (старше указанного времени)