DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

pg_dumpall(1)




PG_DUMPALL(1)    PostgreSQL Client Applications     PG_DUMPALL(1)


NAME

     pg_dumpall - extract a PostgreSQL database  cluster  into  a
     script file


SYNOPSIS

     pg_dumpall [ option... ]


DESCRIPTION

     pg_dumpall is a utility for writing  out  (``dumping'')  all
     PostgreSQL  databases of a cluster into one script file. The
     script file contains SQL commands that can be used as  input
     to psql(1) to restore the databases. It does this by calling
     pg_dump(1) for each database in a cluster.  pg_dumpall  also
     dumps  global  objects  that  are  common  to all databases.
     (pg_dump does  not  save  these  objects.)   This  currently
     includes  information  about  database users and groups, and
     access permissions that apply to databases as a whole.

     Since pg_dumpall reads tables from all  databases  you  will
     most likely have to connect as a database superuser in order
     to produce a complete dump. Also  you  will  need  superuser
     privileges  to  execute  the  saved  script  in  order to be
     allowed to add users and groups, and to create databases.

     The SQL script will be written to the standard output. Shell
     operators should be used to redirect it into a file.

     pg_dumpall needs to connect several times to the  PostgreSQL
     server  (once per database). If you use password authentica-
     tion it is likely to ask for a password  each  time.  It  is
     convenient  to  have  a ~/.pgpass file in such cases. See in
     the documentation for more information.


OPTIONS

     The following command-line options control the  content  and
     format of the output.

     -a

     --data-only
          Dump only the data, not the schema (data definitions).

     -c

     --clean
          Include SQL commands to clean (drop)  databases  before
          recreating   them.   DROP   commands   for   roles  and
          tablespaces are added as well.

     -d

Application          Last change: 2008-01-03                    1

PG_DUMPALL(1)    PostgreSQL Client Applications     PG_DUMPALL(1)

     --inserts
          Dump data as INSERT commands (rather than  COPY).  This
          will  make  restoration  very slow; it is mainly useful
          for making dumps that can be loaded into non-PostgreSQL
          databases. Note that the restore may fail altogether if
          you have rearranged column order.   The  -D  option  is
          safer, though even slower.

     -D

     --column-inserts

     --attribute-inserts
          Dump data as INSERT commands with explicit column names
          (INSERT INTO table (column, ...) VALUES ...). This will
          make restoration very slow; it  is  mainly  useful  for
          making  dumps  that  can  be loaded into non-PostgreSQL
          databases.

     -g

     --globals-only
          Dump only global objects (roles  and  tablespaces),  no
          databases.

     -i

     --ignore-version
          Ignore version  mismatch  between  pg_dumpall  and  the
          database server.

          pg_dumpall can handle databases from previous  releases
          of  PostgreSQL, but very old versions are not supported
          anymore (currently prior to 7.0). Use  this  option  if
          you   need  to  override  the  version  check  (and  if
          pg_dumpall then fails, don't say you weren't warned).

     -o

     --oids
          Dump object identifiers (OIDs) as part of the data  for
          every table. Use this option if your application refer-
          ences the OID columns in some way (e.g., in  a  foreign
          key  constraint).  Otherwise, this option should not be
          used.

     -O

     --no-owner
          Do not output commands to set ownership of  objects  to
          match  the  original  database.  By default, pg_dumpall
          issues  ALTER  OWNER  or  SET   SESSION   AUTHORIZATION

Application          Last change: 2008-01-03                    2

PG_DUMPALL(1)    PostgreSQL Client Applications     PG_DUMPALL(1)

          statements to set ownership of created schema elements.
          These statements will  fail  when  the  script  is  run
          unless  it  is started by a superuser (or the same user
          that owns all of the objects in the script).  To make a
          script  that can be restored by any user, but will give
          that user ownership of all the objects, specify -O.

     -s

     --schema-only
          Dump only the object definitions (schema), not data.

     -S username

     --superuser=username
          Specify the superuser user name to use  when  disabling
          triggers.   This is only relevant if --disable-triggers
          is used.  (Usually, it's better to leave this out,  and
          instead start the resulting script as superuser.)

     -v

     --verbose
          Specifies verbose mode. This will cause  pg_dumpall  to
          output  start/stop times to the dump file, and progress
          messages to standard error.  It will also  enable  ver-
          bose output in pg_dump.

     -x

     --no-privileges

     --no-acl
          Prevent dumping of access privileges (grant/revoke com-
          mands).

     --disable-dollar-quoting
          This option disables the  use  of  dollar  quoting  for
          function bodies, and forces them to be quoted using SQL
          standard string syntax.

     --disable-triggers
          This option is only relevant when creating a  data-only
          dump.   It  instructs pg_dumpall to include commands to
          temporarily disable triggers on the target tables while
          the  data is reloaded. Use this if you have referential
          integrity checks or other triggers on the  tables  that
          you do not want to invoke during data reload.

          Presently, the commands emitted for  --disable-triggers
          must  be done as superuser. So, you should also specify
          a superuser name with -S, or preferably be  careful  to

Application          Last change: 2008-01-03                    3

PG_DUMPALL(1)    PostgreSQL Client Applications     PG_DUMPALL(1)

          start the resulting script as a superuser.

     --use-set-session-authorization
          Output SQL-standard SET SESSION AUTHORIZATION  commands
          instead  of  ALTER  OWNER  commands to determine object
          ownership. This makes the dump more standards  compati-
          ble, but depending on the history of the objects in the
          dump, may not restore properly.

     The following command-line options control the database con-
     nection parameters.

     -h host
          Specifies the host name of the  machine  on  which  the
          database  server is running. If the value begins with a
          slash, it is used as the directory for the Unix  domain
          socket.  The  default is taken from the PGHOST environ-
          ment variable, if set, else a Unix domain  socket  con-
          nection is attempted.

     -p port
          Specifies the TCP port or local Unix domain socket file
          extension  on which the server is listening for connec-
          tions.  Defaults to the PGPORT environment variable, if
          set, or a compiled-in default.

     -U username
          Connect as the given user.

     -W   Force a password prompt. This should  happen  automati-
          cally if the server requires password authentication.


ENVIRONMENT

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


NOTES

     Since pg_dumpall calls pg_dump internally,  some  diagnostic
     messages will refer to pg_dump.

     Once restored, it is wise to run ANALYZE on each database so
     the  optimizer has useful statistics. You can also run vacu-
     umdb -a -z to analyze all databases.

Application          Last change: 2008-01-03                    4

PG_DUMPALL(1)    PostgreSQL Client Applications     PG_DUMPALL(1)

     pg_dumpall requires all  needed  tablespace  directories  to
     exist  before the restore or database creation will fail for
     databases in non-default locations.


EXAMPLES

     To dump all databases:

     $ pg_dumpall > db.out

     To reload this database use, for example:

     $ psql -f db.out postgres

     (It is not important to  which  database  you  connect  here
     since the script file created by pg_dumpall will contain the
     appropriate commands to create  and  connect  to  the  saved
     databases.)


SEE ALSO

     Check pg_dump(1) for details on possible error conditions.

Application          Last change: 2008-01-03                    5


Man(1) output converted with man2html