diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 1e5c70006da..452cdbf253d 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -1,5 +1,5 @@
@@ -15,26 +15,29 @@ Postgres documentation
pg_dump
- Extract a Postgres database into a script file
+ Extract a Postgres database into a script file or other archive file
- 1999-07-20
+ 2000-11-22
pg_dump [ dbname ]
pg_dump [ -h host ]
[ -p port ]
- [ -t table ]
- [ -a ] [ -c ] [ -d ] [ -D ] [ -i ] [ -n ] [ -N ]
- [ -o ] [ -s ] [ -u ] [ -v ] [ -x ]
+ [ -t table ]
+ [ -a ] [ -b ] [ -c ] [-C] [ -d ] [ -D ]
+ [-f file]
+ [-F format]
+ [ -i ] [ -n ] [ -N ] [ -o ] [ -O ] [-R]
+ [ -s ] [ -S ] [ -u ] [ -v ] [ -x ] [ -Z 0..9 ]
[ dbname ]
- 1998-11-05
+ 2000-11-22
Inputs
@@ -66,20 +69,39 @@ pg_dump [ -h host ]
-
- -c
-
-
- Clean (drop) schema prior to create.
-
-
-
-
+
+ -b
+
+
+ Dump BLOB data.
+
+
+
+
+
+ -c
+
+
+ Clean (drop) schema prior to create.
+
+
+
+
+
+ -C
+
+
+ For plain text (script) output, include SQL to create the database itself.
+
+
+
+
-d
- Dump data as proper insert strings.
+ Dump data as proper insert strings. This is not recommended for large databases
+ for performance reasons.
@@ -88,10 +110,68 @@ pg_dump [ -h host ]
-D
- Dump data as inserts with attribute names
+ Dump data as inserts with attribute names. This is not recommended for large databases
+ for performance reasons.
+
+
+ -f file
+
+
+ Send output to the specified file.
+
+
+
+
+
+ -F format
+
+
+ Format can be one of the following:
+
+
+
+
+
+ p
+
+
+ output a plain text SQL script file (default)
+
+
+
+
+
+ t
+
+
+ output a TAR archive suitable for input into
+ pg_restore. Using this archive format
+ allows reordering and/or exclusion of schema elements
+ at the time the database is restored. It is also possible to limit
+ which data is reloaded at restore time.
+
+
+
+
+
+ c
+
+
+ output a custom archive suitable for input into
+ pg_restore. This is the most flexible
+ format in that it allows reordering of data load as well
+ as schema elements. This format is also compressed by default.
+
+
+
+
+
+
+
+
-i
@@ -132,15 +212,37 @@ pg_dump [ -h host ]
-
- -o
-
-
- Dump object identifiers (OIDs) for every table.
-
-
-
-
+
+ -o
+
+
+ Dump object identifiers (OIDs) for every table.
+
+
+
+
+
+ -O
+
+
+ In plain text output mode, don't set object ownership to match the
+ original database. Typically, pg_dump
+ issues \connect statments to set
+ ownership of schema elements.
+
+
+
+
+
+ -R
+
+
+ In plain text output mode, prohibit pg_dump
+ from issuing any \connect statements.
+
+
+
+
-s
@@ -150,15 +252,25 @@ pg_dump [ -h host ]
-
- -t table
-
-
- Dump data for table only.
-
-
-
-
+
+ -S username
+
+
+ Specify the superuser username to use when disabling triggers and/or
+ setting ownership of schema elements.
+
+
+
+
+
+ -t table
+
+
+ Dump data for table only.
+
+
+
+
-u
@@ -185,6 +297,17 @@ pg_dump [ -h host ]
+
+
+ -Z 0..9
+
+
+ Specify the compression level to use in archive formats that support
+ compression (currently only the custom archive format supports compression).
+
+
+
+
@@ -306,17 +429,26 @@ dumpSequence(table): SELECT failed
- 1998-11-05
+ 2000-
Description
pg_dump is a utility for dumping out a
- Postgres database into a script file
- containing query commands. The script
- files are in text format and can be used to reconstruct the database,
- even on other machines and other architectures.
+ Postgres database into a script or archive
+ file containing query commands. The script files are in text format
+ and can be used to reconstruct the database, even on other machines
+ and other architectures.
+
+
+ The archive files, new with this v7.1, contain enough information for
+ pg_restore to rebuild the database, but also
+ allow pg_restore to be selective about what is restored, or even to
+ reorder the items prior to being restored. The archive files should
+ also be portable across architectures.
+
+
pg_dump
will produce the queries necessary to re-generate all
user-defined types, functions, tables, indices, aggregates, and
@@ -330,14 +462,28 @@ dumpSequence(table): SELECT failed
is useful for dumping out the contents of a database to move from one
Postgres installation to another. After running
pg_dump,
- one should examine the output script file for any warnings, especially
+ one should examine the output for any warnings, especially
in light of the limitations listed below.
+
+
+ When used with one of the alternate file formats and combined with
+ pg_restore, it provides a flexible archival
+ and trasfer mechanism. pg_dump can be used
+ to backup an entire database, then pg_restore
+ can be used to examine the archive and/or select which parts of the
+ database are to be restored.
+
+
+
+ See the pg_restore documentation for details.
+
+
- 1998-11-05
+ 2000-11-21
Notes
@@ -359,8 +505,9 @@ dumpSequence(table): SELECT failed
- pg_dump does not handle large objects.
- Large objects are ignored and must be dealt with manually.
+ When dumping a single table or as plain text, pg_dump
+ does not handle large objects. Large objects must be dumped in their
+ entirity using one of the binary archive formats.
@@ -379,7 +526,7 @@ dumpSequence(table): SELECT failed
- 1998-11-05
+ 2000-11-21
Usage
@@ -399,6 +546,23 @@ $ pg_dump > db.out
$ psql -e database < db.out
+
+
+ To dump a database called mydb that contains BLOBs to a TAR file:
+
+
+$ pg_dump -Ft --blobs mydb > db.tar
+
+
+
+
+ To reload this database (with BLOBs) to an existing db called newdb:
+
+
+$ pg_restore db.tar --db=newdb
+
+
+