/explain/autovacuum_vacuum_insert_scale_factor

autovacuum_vacuum_insert_scale_factor

Since Postgres 13, inserts have their own trigger: autovacuum_vacuum_insert_threshold + autovacuum_vacuum_insert_scale_factor × n_live_tup. Before it, an append-only table produced no dead rows, so nothing ever vacuumed it, until the forced anti-wraparound scan arrived and read the entire table cold. The insert trigger gets those pages vacuumed, frozen, and marked all-visible while they are still in cache.

SEE ALSO
autovacuum_vacuum_insert_thresholdvacuum_freeze_min_age← back to start
Postgres 18 scales the insert trigger by the unfrozen fraction of the table (relallfrozen), so a well-frozen append-only table triggers less often.
autovacuum_vacuum_insert_scale_factor — robovac