/explain/vacuum_freeze_min_age

vacuum_freeze_min_age

A normal vacuum freezes only rows older than vacuum_freeze_min_age xids (default 50M). The trap is that the setting is in xids but the vacuum cadence is in time: if 50M xids take longer to burn than the interval between vacuums, no row is ever old enough when the vacuum arrives, nothing freezes, and all freeze work piles up for the aggressive pass. The rule from production tuning: keep it shorter, in time, than one vacuum interval, because a page that goes all-visible unfrozen is skipped by every later normal vacuum.

SEE ALSO
freezevacuum_freeze_table_ageautovacuum_vacuum_insert_threshold← back to start
Append-only tables want it low (1-20M): their pages are written once, and freezing them on the first insert-triggered vacuum means never reading them cold again.
vacuum_freeze_min_age — robovac