Man Linux: Main Page and Category List

NAME

       vacuumdb - garbage-collect and analyze a PostgreSQL database

SYNOPSIS

       vacuumdb  [  connection-option...  ]   [   [  --full ]  [ -f ]  ]  [  [
       --verbose ]  [ -v ]  ]  [  [ --analyze ]  [ -z ]  ]  [  [ --freeze ]  [
       -F ]  ]  [ --table | -t table
        [ ( column [,...] ) ]
        ]  [ dbname ]

       vacuumdb  [  connection-options...  ]   [   [  --all ]  [ -a ]  ]  [  [
       --full ]  [ -f ]  ]  [  [ --verbose ]  [ -v ]  ]  [  [ --analyze  ]   [
       -z ]  ]  [  [ --freeze ]  [ -F ]  ]

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 wrapper around the SQL command VACUUM [vacuum(7)].  There
       is no effective difference between vacuuming databases via this utility
       and via other methods for accessing the server.

OPTIONS

       vacuumdb accepts the following command-line arguments:

       -a

       --all  Vacuum all databases.

       [-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.

       -e

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

       -f

       --full Perform ‘‘full’’ vacuuming.

       -q

       --quiet
              Do not display progress messages.

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

       --table table [ (column [,...]) ]
              Clean or analyze table only.  Column names can be specified only
              in conjunction with the --analyze option.

              Tip:  If  you  specify  columns, you probably have to escape the
              parentheses from the shell. (See examples below.)

       -v

       --verbose
              Print detailed information during processing.

       -z

       --analyze
              Calculate statistics for use by the optimizer.

       -F

       --freeze
              Aggressively ‘‘freeze’’ tuples.

       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 the value begins with a slash, it  is  used  as  the
              directory for the Unix domain socket.

       -p port

       --port port
              Specifies  the  TCP  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

       --no-password
              Never issue a password prompt. If the server  requires  password
              authentication  and  a  password is not available by other means
              such as a .pgpass file, the connection attempt will  fail.  This
              option  can be useful in batch jobs and scripts where no user is
              present to enter a password.

       -W

       --password
              Force vacuumdb to prompt for a password before connecting  to  a
              database.

              This   option   is   never   essential,   since   vacuumdb  will
              automatically prompt  for  a  password  if  the  server  demands
              password   authentication.    However,  vacuumdb  will  waste  a
              connection attempt finding out that the server wants a password.
              In  some  cases  it  is  worth  typing  -W  to  avoid  the extra
              connection attempt.

ENVIRONMENT

       PGDATABASE

       PGHOST

       PGPORT

       PGUSER Default connection parameters

       This utility, like most  other  PostgreSQL  utilities,  also  uses  the
       environment variables supported by libpq (see in the documentation).

DIAGNOSTICS

       In   case  of  difficulty,  see  VACUUM  [vacuum(7)]  and  psql(1)  for
       discussions of potential problems and  error  messages.   The  database
       server  must  be  running  at  the  targeted  host.  Also,  any default
       connection settings and environment variables used by the libpq  front-
       end library will apply.

NOTES

       vacuumdb  might need to connect several times to the PostgreSQL server,
       asking for a password each time. It is convenient to have  a  ~/.pgpass
       file in such cases. See in the documentation for more information.

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 --tablefoo(bar)xyzzy

SEE ALSO

       VACUUM [vacuum(7)]