Yolinux.com

pg_dumpall manpage

Search topic Section


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 per-
       missions 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 authentication it will 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

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

       -f filename

       --file=filename
	      Send output to the specified file. If this is omitted, the stan-
	      dard output is used.

       -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 Post-
	      greSQL, but very old versions are not  supported	anymore  (cur-
	      rently  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 ta-
	      ble. Use this option if  your  application  references  the  OID
	      columns in some way (e.g., in a foreign key constraint).	Other-
	      wise, 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 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.

       -r

       --roles-only
	      Dump only roles, no databases or tablespaces.

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

       -t

       --tablespaces-only
	      Dump only tablespaces, no databases or roles.

       -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 verbose output in  pg_dump.

       -x

       --no-privileges

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

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

       --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 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 compatible, but depending on the
	      history of the objects in the dump, might not restore  properly.


       The  following  command-line  options  control  the database connection
       parameters.

       -h host

       --host=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 environment variable, if set, else a Unix
	      domain socket connection is attempted.

       -l dbname

       --database=dbname
	      Specifies the name of the database to connect to to dump	global
	      objects  and  discover what other databases should be dumped. If
	      not specified, the ``postgres'' database will be	used,  and  if
	      that does not exist, ``template1'' will be used.

       -p port

       --port=port
	      Specifies  the  TCP port or local Unix domain socket file exten-
	      sion on which the server is listening for connections.  Defaults
	      to  the  PGPORT  environment  variable, if set, or a compiled-in
	      default.

       -U username

       --username=username
	      User name to connect as.

       -W

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

	      This  option is never essential, since pg_dumpall will automati-
	      cally prompt for a  password  if	the  server  demands  password
	      authentication.	However,  pg_dumpall  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.

	      Note that the password prompt will occur again for each database
	      to  be  dumped.  Usually, it's better to set up a ~/.pgpass file
	      than to rely on manual password entry.


ENVIRONMENT
       PGHOST

       PGPORT

       PGUSER Default connection parameters

       This utility, like most other PostgreSQL utilities, also uses the envi-
       ronment 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  opti-
       mizer has useful statistics. You can also run vacuumdb -a -z to analyze
       all databases.

       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			  2010-03-12			 PG_DUMPALL(1)
Hypertext Manpage Browser (pg_dumpall)
YoLinux.com Home Page
YoLinux Tutorial Index
Privacy Policy | Advertise with us | Feedback Form |
Unauthorized copying or redistribution prohibited.
    Bookmark and Share