Table and Index Bloat
partialContainedcapacity failure · linear propagation
Blast Radius
0%
0/18 nodes
Time to Detect
Days to weeks for bloat to reach a level that degrades performance noticeably. With regular bloat queries (pg_bloat monitoring), detectable within days. Without proactive monitoring, typically detected through unexplained storage growth or gradual query performance degradation over weeks.
Preventive Mitigations
1
Confidence
StrongFailure Cascade
(no topology nodes mapped for this failure mode)
This failure mode is referenced in the scenario knowledge but has no connected topology nodes. Impact scope is scenario-level, all components should be considered potentially affected.
Severity at this step: partial
Detection Signals
Recovery time estimate: VACUUM on a bloated table runs at approximately 10–50GB/hour depending on disk I/O. A 100GB bloated table may take 2–10 hours to vacuum. pg_repack takes similar time. Tuning autovacuum settings takes effect immediately but prevents future bloat accumulation, not existing bloat.
Mitigation Checklist(1 preventive, 3 reactive)
Override per-table autovacuum settings for high-update tables: ALTER TABLE orders SET (autovacuum_vacuum_scale_factor = 0.01, autovacuum_vacuum_threshold = 1000). This triggers vacuum after 1% dead tuples instead of 20%, keeping bloat bounded for large tables.
pg_repack rebuilds tables and indexes online without ACCESS EXCLUSIVE lock, reclaiming dead space while the table remains available. Unlike VACUUM FULL, it does not block reads or writes. Run during off-peak hours for large tables.
Query pg_stat_activity for transactions older than 1 hour: SELECT pid, now() - xact_start AS duration, query FROM pg_stat_activity WHERE xact_start < now() - interval '1 hour'. Terminate long-running analytics queries or move them to replicas.
Lagging replication slots prevent vacuum from reclaiming dead tuples. SELECT slot_name, xmin, catalog_xmin FROM pg_replication_slots WHERE xmin IS NOT NULL AND age(xmin) > 1000000. Drop or pause consumer-inactive slots immediately.
Affected Systems
Workloads
Blast radius analysis is derived from structured topology and failure mode knowledge. It models structural propagation patterns, not measured production behavior. Actual incident scope depends on runtime conditions, traffic, and recovery actions in place at the time of failure.