vacuumdb - garbage-collect and analyze a PostgreSQL database


vacuumdb [ ''connection-options''...? __-d__? dbname ] [ __--full__? __--verbose__? [ __--analyze__? [,...? ) ]'__ ]

vacuumdb [ ''connection-options''...? __--all__? [ __--full__? __--verbose__? [ __--analyze__?


vacuumdb accepts the following command line arguments:

-d dbname

--dbname dbname

Specifies the name of the database to be cleaned or analyzed.



Vacuum all databases.



Perform ``full'' vacuuming.



Print detailed information during processing.



Calculate statistics for use by the optimizer.

-t table [ (__''column'' __[[,...?) ]

--table table [,...?) ]

Clean or analyze table only. Column names may be specified only in conjunction with the --analyze option.

Tip: If you specify columns to vacuum, you probably have to escape the parentheses from the shell.

vacuumdb also accepts the following command line arguments for connection parameters:

-h host

--host host

Specifies the host name of the machine on which the server is running. If host begins with a slash, it is used as the directory for the Unix domain socket.

-p port

--port port

Specifies the Internet TCP/IP port or local Unix domain socket file extension on which the server is listening for connections.

-U username

--username username

User name to connect as



Force password prompt.



Echo the commands that vacuumdb generates and sends to the server.



Do not display a response.



Everything went well.

vacuumdb: Vacuum failed.

Something went wrong. vacuumdb is only a wrapper script. See VACUUM [__vacuum__(l)? and psql(1) for a detailed discussion of error messages and potential problems.


vacuumdb is a utility for cleaning a PostgreSQL database. vacuumdb will also generate internal statistics used by the PostgreSQL query optimizer.

vacuumdb is a shell script wrapper around the backend command VACUUM [__vacuum__(l)? via the PostgreSQL interactive terminal psql(1). There is no effective difference between vacuuming databases via this or other methods. psql must be found by the script and a database server must be running at the targeted host. Also, any default settings and environment variables available to psql and the libpq front-end library do apply.


To clean the database test:

$ vacuumdb test

To clean and analyze for the optimizer a database named bigdb:

$ vacuumdb --analyze bigdb

To clean a single table foo in a database named xyzzy, and analyze a single column bar of the table for the optimizer:

$ vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy

This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.