VACUUMDB(1) PostgreSQL Client Applications VACUUMDB(1)
NAME
vacuumdb - garbage-collect and analyze a PostgreSQL database
SYNOPSIS
vacuumdb [ connection-options... ] [ --full | -f ] [ --verbose | -v ] [ --analyze | -z ] [ --table | -t 'table [ ( column [,...] ) ]' ] [
dbname ]
vacuumdb [ connection-options... ] [ --all | -a ] [ --full | -f ] [ --verbose | -v ] [ --analyze | -z ]
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 [vacuum(7)] 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.
vacuumdb might need to connect several times to the PostgreSQL server, asking for a password each time. It is convenient to have a
$HOME/.pgpass file in such cases.
OPTIONS
vacuumdb accepts the following command-line arguments:
[-d] dbname
[--dbname] dbname
Specifies the name of the database to be cleaned or analyzed. If this is not specified and -a (or --all) is not used, the database
name is read from the environment variable PGDATABASE. If that is not set, the user name specified for the connection is used.
-a
--all Vacuum all databases.
-e
--echo Echo the commands that vacuumdb generates and sends to the server.
-f
--full Perform ``full'' vacuuming.
-q
--quiet
Do not display a response.
-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.
-v
--verbose
Print detailed information during processing.
-z
--analyze
Calculate statistics for use by the optimizer.
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.
DIAGNOSTICS
VACUUM Everything went well.
vacuumdb: Vacuum failed.
Something went wrong. vacuumdb is only a wrapper script. See VACUUM [vacuum(7)] and psql(1) for a detailed discussion of error mes-
sages and potential problems.
ENVIRONMENT
PGDATABASE
PGHOST
PGPORT
PGUSER Default connection parameters.
EXAMPLES
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
SEE ALSO
VACUUM [vacuum(7)]
Application 2002-11-22 VACUUMDB(1)