VACUUMDB

NAME
SYNOPSIS
DESCRIPTION
USAGE

NAME

vacuumdb − Clean and analyze a Postgres database

SYNOPSIS

vacuumdb [ connection-options... ] [ [ -d ] dbname ] [ --analyze | -z ] [ --verbose | -v ] [ --table ’table [ ( column [,...] ) ] ]

vacuumdb [ connection-options... ] [ --all | -a ] [ --analyze | -z ] [ --verbose | -v ]

INPUTS

vacuumdb accepts the following command line arguments:

-d dbname

--dbname dbname

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

-z

--analyze

Calculate statistics on the database for use by the optimizer.

-a

--alldb

Vacuum all databases.

-v

--verbose

Print detailed information during processing.

-t table [ (column [,...]) ]

--table table [ (column [,...]) ]

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 hostname of the machine on which the postmaster 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 postmaster is listening for connections.

-U username

--username username

Username to connect as.

-W

--password

Force password prompt.

-e

--echo

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

-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 [vacuum(l)] and psql(1) for a detailed discussion of error messages and potential problems.

DESCRIPTION

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

vacuumdb is a shell script wrapper around the backend command VACUUM [vacuum(l)] via the Postgres 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.

USAGE

To clean the database test:

$ vacuumdb test

To analyze for the optimzer a database named bigdb:

$ vacuumdb --analyze bigdb

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

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