Developer's Daily Unix by Example
  main | java | perl | unix | dev directory | web log
 
 
Main
Unix
Man Pages
   

POSTGRESQL-DUMP

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
SEE ALSO
BUGS
AUTHOR

NAME

postgresql-dump - a utility to dump and destroy a PostgreSQL database when the database format becomes incompatible 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 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>


copyright 1998-2007, devdaily.com, all rights reserved.
devdaily.com, an alvin j. alexander production.