PostgreSQL

Unused tables with disabled autovacuum block entire database at wraparound

critical
configurationUpdated Feb 13, 2026
Technologies:
How to detect:

Unused or abandoned test tables with autovacuum disabled can have oldest unfrozen transaction ID in database. Transaction IDs advance globally but freezing is per-table. Single forgotten table triggers database-wide wraparound protection.

Recommended action:

Audit all tables for autovacuum configuration, especially test/abandoned tables. Check age(relfrozenxid) across all tables including unused ones. Drop genuinely unused tables. Never disable autovacuum on any table without time-bound re-enablement plan.