puppet: Up the Postgres autovacuum_freeze_max_age and related parameters

These parameters collectively determine when very old transaction ids
are replaced with the special FrozenXID transaction id, which is
older than any other transaction id.  Old transaction ids must be
periodically replaced like this to prevent transaction id wraparound.

The only disadvantage of increasing autovacuum_freeze_max_age is
increased disk usage, but a value of 2 billion should only require
500MB, which is pretty trivial.

Since changing autovacuum_freeze_max_age requires a restart, we will
still have to issue a manual VACUUM, with vacuum_freeze_min_age and
vacuum_freeze_table_age temporarily set to lower values.

(imported from commit 22f9ecdfc5b6a07918771d541192aa6d6369878a)
This commit is contained in:
Zev Benjamin 2013-10-16 16:31:42 -04:00
parent 387bdb01c2
commit 890bfe1e95
2 changed files with 8 additions and 0 deletions

View File

@ -586,6 +586,10 @@ log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 100
autovacuum_freeze_max_age = 2000000000
vacuum_freeze_min_age = 1000000000
vacuum_freeze_table_age = 1800000000
# Master replication settings (ignored on standby)
wal_level = hot_standby
max_wal_senders = 5

View File

@ -582,6 +582,10 @@ log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 100
autovacuum_freeze_max_age = 2000000000
vacuum_freeze_min_age = 1000000000
vacuum_freeze_table_age = 1800000000
# Master replication settings (ignored on standby)
wal_level = hot_standby
max_wal_senders = 2