POSTGRESQL-DUMP(8)                             POSTGRESQL-DUMP(8)

NAME
       postgresql-dump  -  a  utility to dump and destroy a Post-
       greSQL database when the database format becomes incompat-
       ible with a previous version.

SYNOPSIS
       /usr/lib/postgresql/bin/postgresql-dump   [-c]  [-d]  [-i]
       [-l] [-p directory] -t target_file [-u] [-v] [-x]

DESCRIPTION
       postgreql-dump is used to dump and reload the whole  Post-
       greSQL  database  when  the  database  format  has changed
       between releases and become  incompatible.  It  tests  for
       this  situation  by  reading  the version file in the top-
       level directory of the PostgreSQL database.

       If there is an incompatibility between the  database  ver-
       sion  of  the  current PostgreSQL programs and that of the
       database itself, this program must be  used  to  dump  the
       database to an ASCII file. (This may be a tape device.)

       If  the  -d  option  is  used,  the entire contents of the
       database directory are then deleted.   They  may  be  pre-
       served  in  another  location,  should  you  have both the
       desire and the spare disk capacity.

       Postgresql-dump may only be run by the user postgres  (the
       postgresql superuser).

OPTIONS
       -c     After  the dump has been written, copy it to screen
              through the filter named  in  PAGER  (or  more,  by
              default)  and  ask  the  user  to give confirmation
              before deleting the database files.

       -d     Destroy  the  database  files  after  dumping   the
              database.   This  option  must  be used when a new,
              incompatible  release  of  PostgreSQL  is   loaded,
              unless the -u option is used.

       -i     Create  a  new database with initdb.  This requires
              the option -d.

       -l     Load the dump into a  new  database.   This  option
              requires the -i option.

       -p directory
              This  option  can only be used with -d.  Instead of
              destroying the database files,  the  program  moves
              them  under  directory,  creating it, if necessary.
              Directory must not be the  same  directory  as,  or
              underneath  the  directory named in the environment
              variable, PGDATA.

       -t target
              This option is always required.  Target is the file
              or  tape to which the ASCII dump should be written.
              It is incorrect to name any physical  device  other
              than  a  tape.   It  is not possible (or, at least,
              meaningful) to use a tape with the  -c  option  and
              also  to  start the dump in the middle of the tape.
              Target must not be the same directory as, or under-
              neath  the directory named in the environment vari-
              able, PGDATA.

       -u     Use the pg_upgrade command to do the upgrade.  This
              involves  writing a dumpfile that contains only the
              database structure, but not the data  itself.   The
              old  database  files  are  moved to $PGDATA.old (if
              necessary) and the old data is read  from  them  to
              populate  the  tables  in the new database.  Use of
              this option forces -l, and cancels -d, even  if  it
              has been specified.  This option is recommended for
              upgrades from 6.3 and above.

       -v     Print more information about  what  the  script  is
              doing.

       -x     Prevents  dumping  the  old  database;  use of this
              option forces -c.

SEE ALSO
       initdb, pg_dump, pg_dumpall, pg_upgrade

BUGS
       The program does not check that a device is really a tape.
       If you send the dump to the screen, for instance, and also
       use  -d,  without  -c,  you  will  destroy  your  database
       irrecoverably.

       The -u option cannot be used to upgrade from versions ear-
       lier than 6.5 to version 6.5 or later.  This is because of
       a  change  in  the  way  rows  are  stored in the database
       tables.

AUTHOR
       postgresql-dump was written for Debian GNU/Linux by Oliver
       Elphick  <Oliver.Elphick@lfix.co.uk>.  postgresql-dump was
       adapted to run on RedHat Linux for the RPM distribution by
       Lamar Owen <lamar.owen@wgcr.org>

                                                                1