| Developer's Daily | Unix by Example |
| main | java | perl | unix | dev directory | web log |
|
vacuumdb − Clean and analyze a Postgres database |
|
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. |
|
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. |
|
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 |