Hi list,
The PostgreSQL documentation says in https://www.postgresql.org/docs/15/routine-vacuuming.html#VACUUM-FOR-STATISTICS:
The maximum time that a table can go unvacuumed is two billion transactions minus the vacuum_freeze_min_age
value at the time of the last aggressive vacuum.
...
This implies that if a table is not otherwise vacuumed, autovacuum will be invoked on it approximately once every autovacuum_freeze_max_age
minus vacuum_freeze_min_age
transactions.
From what I have understood, a table is eligible for aggressive vacuum when it reaches vacuum_freeze_table_age.
Then each table row becomes eligible when it reaches vacuum_freeze_min_age.
The autovacuum frequency would be then autovacuum_freeze_max_age
minus vacuum_freeze_table_age
transactions (and not autovacuum_freeze_max_age
minus vacuum_freeze_min_age
transactions).
Thanks for any answer
Simon