LinuxCommandLibrary

vacuumdb

Clean and analyze PostgreSQL databases

TLDR

Vacuum database

$ vacuumdb [database]
copy
Vacuum all databases
$ vacuumdb --all
copy
Vacuum with analyze
$ vacuumdb --analyze [database]
copy
Full vacuum (reclaims space)
$ vacuumdb --full [database]
copy
Vacuum specific table
$ vacuumdb -t [table_name] [database]
copy
Parallel vacuum
$ vacuumdb -j [4] [database]
copy
Vacuum with verbose
$ vacuumdb -v [database]
copy

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.

SEE ALSO

psql(1), pg_dump(1), reindexdb(1), clusterdb(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community