PostgreSQL

Table bloat wastes disk space without autovacuum full or pg_repack

info
storageUpdated Mar 4, 2026
Technologies:
How to detect:

Regular VACUUM marks dead tuple space for reuse but does not release disk space back to OS. Bloated tables consume unnecessary storage, increasing costs and backup/restore times

Recommended action:

Check table bloat with pg_total_relation_size vs pg_relation_size queries. For significant bloat, either run VACUUM FULL (locks table, disruptive) or use pg_repack (less disruptive alternative). Prevent future bloat by tuning autovacuum to keep dead tuples under 5-10% of live tuples.