aboutsummaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/ref')
-rw-r--r--doc/src/sgml/ref/pg_dump.sgml60
-rw-r--r--doc/src/sgml/ref/pg_restore.sgml13
2 files changed, 55 insertions, 18 deletions
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index de4968c5a03..fdc4b928d54 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -76,11 +76,7 @@ PostgreSQL documentation
database are to be restored. The most flexible output file format is
the <quote>custom</quote> format (<option>-Fc</option>). It allows
for selection and reordering of all archived items, and is compressed
- by default. The <application>tar</application> format
- (<option>-Ft</option>) is not compressed and has restrictions on
- reordering data when loading, but it is otherwise quite flexible;
- moreover, it can be manipulated with standard Unix tools such as
- <command>tar</command>.
+ by default.
</para>
<para>
@@ -194,8 +190,12 @@ PostgreSQL documentation
<term><option>--file=<replaceable class="parameter">file</replaceable></option></term>
<listitem>
<para>
- Send output to the specified file. If this is omitted, the
- standard output is used.
+ Send output to the specified file. This parameter can be omitted for
+ file based output formats, in which case the standard output is used.
+ It must be given for the directory output format however, where it
+ specifies the target directory instead of a file. In this case the
+ directory is created by <command>pg_dump</command> and must not exist
+ before.
</para>
</listitem>
</varlistentry>
@@ -226,9 +226,28 @@ PostgreSQL documentation
<para>
Output a custom-format archive suitable for input into
<application>pg_restore</application>.
- This is the most flexible output format in that it allows manual
- selection and reordering of archived items during restore.
- This format is also compressed by default.
+ Together with the directory output format, this is the most flexible
+ output format in that it allows manual selection and reordering of
+ archived items during restore. This format is also compressed by
+ default.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>d</></term>
+ <term><literal>directory</></term>
+ <listitem>
+ <para>
+ Output a directory-format archive suitable for input into
+ <application>pg_restore</application>. This will create a directory
+ with one file for each table and blob being dumped, plus a
+ so-called Table of Contents file describing the dumped objects in a
+ machine-readable format that <application>pg_restore</application>
+ can read. A directory format archive can be manipulated with
+ standard Unix tools; for example, files in an uncompressed archive
+ can be compressed with the <application>gzip</application> tool.
+ This format is compressed by default.
</para>
</listitem>
</varlistentry>
@@ -239,13 +258,12 @@ PostgreSQL documentation
<listitem>
<para>
Output a <command>tar</command>-format archive suitable for input
- into <application>pg_restore</application>.
- This output format allows manual selection and reordering of
- archived items during restore, but there is a restriction: the
- relative order of table data items cannot be changed during
- restore. Also, <command>tar</command> format does not support
- compression and has a limit of 8 GB on the size of individual
- tables.
+ into <application>pg_restore</application>. The tar-format is
+ compatible with the directory-format; extracting a tar-format
+ archive produces a valid directory-format archive.
+ However, the tar-format does not support compression and has a
+ limit of 8 GB on the size of individual tables. Also, the relative
+ order of table data items cannot be changed during restore.
</para>
</listitem>
</varlistentry>
@@ -947,6 +965,14 @@ CREATE DATABASE foo WITH TEMPLATE template0;
</para>
<para>
+ To dump a database into a directory-format archive:
+
+<screen>
+<prompt>$</prompt> <userinput>pg_dump -Fd mydb -f dumpdir</userinput>
+</screen>
+ </para>
+
+ <para>
To reload an archive file into a (freshly created) database named
<literal>newdb</>:
diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml
index 78606969a98..bf261af9d6d 100644
--- a/doc/src/sgml/ref/pg_restore.sgml
+++ b/doc/src/sgml/ref/pg_restore.sgml
@@ -79,7 +79,8 @@
<term><replaceable class="parameter">filename</replaceable></term>
<listitem>
<para>
- Specifies the location of the archive file to be restored.
+ Specifies the location of the archive file (or directory, for a
+ directory-format archive) to be restored.
If not specified, the standard input is used.
</para>
</listitem>
@@ -167,6 +168,16 @@
<variablelist>
<varlistentry>
+ <term><literal>d</></term>
+ <term><literal>directory</></term>
+ <listitem>
+ <para>
+ The archive is a <command>directory</command> archive.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><literal>t</></term>
<term><literal>tar</></term>
<listitem>