Настроить autovacuum для конкретной таблицы
PostgreSQLОбслуживаниеКоманда
ALTER TABLE customer SET (autovacuum_vacuum_scale_factor = 0.02, autovacuum_vacuum_threshold = 5000, autovacuum_analyze_scale_factor = 0.01);Что делает
Снижает пороги срабатывания autovacuum только для этой таблицы, чтобы большие/нагруженные таблицы очищались чаще.
Когда использовать
Когда autovacuum не успевает на больших таблицах с интенсивными UPDATE/DELETE.
Внимание
Слишком агрессивные настройки могут привести к постоянным запускам autovacuum и нагрузке I/O. Чтобы вернуть настройку: ALTER TABLE customer RESET (autovacuum_vacuum_scale_factor);
Связанные материалы
- Выполнить VACUUM ANALYZE для конкретной таблицы
- Выполнить агрессивный VACUUM FREEZE
- Перестроить индекс без блокировки (REINDEX CONCURRENTLY)
- Увеличить statistics target столбца
- Мониторинг хода выполняющихся операций autovacuum/VACUUM
- Измерить риск wraparound идентификаторов транзакций (возраст XID по базам данных и таблицам)