PostgreSQL

VACUUM FULL doubles disk space usage and blocks all queries

critical
availabilityUpdated Mar 4, 2026
Technologies:
How to detect:

VACUUM FULL reclaims disk space and returns it to the OS, but it acquires an exclusive lock blocking all operations (including SELECT queries) and creates a fresh copy of the table, potentially doubling disk space usage. This is particularly problematic when already low on disk space.

Recommended action:

Avoid VACUUM FULL in production. Instead, tune autovacuum to prevent bloat from accumulating. If VACUUM FULL is absolutely necessary, schedule during maintenance window, ensure sufficient free disk space (at least table size), and notify users of downtime. Consider pg_repack extension as an alternative that doesn't require exclusive locks.