postgreql-dump
is used to dump and reload the whole PostgreSQL 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 version 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
preserved 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 underneath the directory named in
the environment variable,
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 earlier 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>