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

-W
--password

Force password prompt.

-e
--echo

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

-q
--quiet

Do not display a response.

Outputs

VACUUM

Everything went well.

vacuumdb: Vacuum
failed.

Something went wrong. vacuumdb is only a wrapper script.
See VACUUM and
psql for a detailed discussion
of error messages and potential problems.

Description

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 via the PostgreSQL interactive terminal psql. 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.

Usage

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: