vacuumdb
Clean and analyze PostgreSQL databases
TLDR
Vacuum database
SYNOPSIS
vacuumdb [-a] [-z] [-f] [-t table] [-j jobs] [options] [database]
DESCRIPTION
vacuumdb cleans and analyzes PostgreSQL databases. It reclaims storage and updates query planner statistics.
Regular vacuum marks dead tuples for reuse. It doesn't reclaim disk space but prevents table bloat from growing indefinitely.
Full vacuum rewrites tables, reclaiming disk space. It requires exclusive lock and more time than regular vacuum.
Analyze updates statistics used by the query planner. Accurate statistics lead to better query plans and performance.
Parallel vacuuming processes multiple tables simultaneously. This speeds up vacuum on databases with many tables.
The tool wraps the SQL VACUUM command with convenient options for scripting and cron jobs.
PARAMETERS
-a, --all
Vacuum all databases.-z, --analyze
Update statistics.-Z, --analyze-only
Only analyze, no vacuum.-f, --full
Full vacuum.-t TABLE
Vacuum specific table.-j N, --jobs N
Parallel jobs.-e, --echo
Echo commands.-q, --quiet
Quiet mode.-v, --verbose
Verbose output.-h HOST
Database server host.-p PORT
Server port.-U USER
Username.-W
Prompt for password.--min-mxid-age AGE
Min age for MXID vacuum.
CAVEATS
Full vacuum locks tables exclusively. Regular vacuum should run frequently. Large tables take time. Disk space needed for full vacuum.
HISTORY
vacuumdb has been part of PostgreSQL since early versions. It provides command-line access to vacuum operations essential for database maintenance.
