Автоочистка и автоанализ запускаются при разных условиях и используют разные счетчики статистики:
автоочистка запускается, если количество мертвых кортежей (n_dead_tup
в pg_stat_all_tables
) превышает пороговое значение (по умолчанию около 20% от reltuples
от pg_class
). Начиная с v13, существует аналогичное условие с n_ins_since_vacuum
, количеством кортежей, вставленных с момента последнего VACUUM
.
запускается автоанализ, если количество измененных кортежей (n_mod_since_analyze
в pg_stat_all_tables
) превышает пороговое значение (по умолчанию около 10% от reltuples
из pg_class
).
Каждый раз, когда автоочистка или автоанализ завершены, соответствующий счетчик статистики сбросить на 0.
Таким образом, нет прямой связи между запусками автоочистки и автоанализа (за исключением того, что оба связаны с модификациями таблицы, если только это не цикл вакуумирования).