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 |