PostgreSQL

Table bloat from insufficient vacuuming requires VACUUM FULL

warning
storageUpdated Feb 26, 2026
Technologies:
How to detect:

After massive update or delete activity, tables contain large numbers of dead row versions. Standard VACUUM cannot reclaim space effectively, requiring VACUUM FULL which locks the table and uses extra disk space equal to table size.

Recommended action:

Use VACUUM FULL, CLUSTER, or table-rewriting ALTER TABLE to reclaim space. All require ACCESS EXCLUSIVE lock and temporarily use extra disk space approximately equal to table size. For periodic full deletions, use TRUNCATE instead of DELETE followed by VACUUM to avoid this issue.