1999-07-22 17:09:15 +02:00
|
|
|
<!--
|
2004-07-10 17:51:28 +02:00
|
|
|
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.72 2004/07/10 15:51:28 momjian Exp $
|
2001-12-08 04:24:40 +01:00
|
|
|
PostgreSQL documentation
|
1999-07-22 17:09:15 +02:00
|
|
|
-->
|
|
|
|
|
|
|
|
<refentry id="APP-PGDUMP">
|
1999-07-06 19:16:42 +02:00
|
|
|
<refmeta>
|
2002-04-21 21:02:39 +02:00
|
|
|
<refentrytitle>pg_dump</refentrytitle>
|
2000-12-26 00:15:27 +01:00
|
|
|
<manvolnum>1</manvolnum>
|
1999-07-06 19:16:42 +02:00
|
|
|
<refmiscinfo>Application</refmiscinfo>
|
|
|
|
</refmeta>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<refnamediv>
|
2001-03-06 19:55:57 +01:00
|
|
|
<refname>pg_dump</refname>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<refpurpose>
|
2001-09-03 14:57:50 +02:00
|
|
|
extract a <productname>PostgreSQL</productname> database into a script file or other archive file
|
1999-07-06 19:16:42 +02:00
|
|
|
</refpurpose>
|
|
|
|
</refnamediv>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2003-08-31 19:32:24 +02:00
|
|
|
<indexterm zone="app-pgdump">
|
|
|
|
<primary>pg_dump</primary>
|
|
|
|
</indexterm>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<refsynopsisdiv>
|
2001-03-06 19:55:57 +01:00
|
|
|
<cmdsynopsis>
|
|
|
|
<command>pg_dump</command>
|
2003-03-24 15:32:51 +01:00
|
|
|
<arg rep="repeat"><replaceable>option</replaceable></arg>
|
2002-08-10 18:57:32 +02:00
|
|
|
<arg><replaceable>dbname</replaceable></arg>
|
2001-03-06 19:55:57 +01:00
|
|
|
</cmdsynopsis>
|
|
|
|
</refsynopsisdiv>
|
|
|
|
|
|
|
|
|
|
|
|
<refsect1 id="pg-dump-description">
|
|
|
|
<title>
|
|
|
|
Description
|
|
|
|
</title>
|
|
|
|
|
|
|
|
<para>
|
2003-04-17 17:34:37 +02:00
|
|
|
<application>pg_dump</application> is a utility for backing up a
|
|
|
|
<productname>PostgreSQL</productname> database. It makes consistent
|
|
|
|
backups even if the database is being used concurrently.
|
|
|
|
<application>pg_dump</application> does not block other users
|
|
|
|
accessing the database (readers or writers).
|
2002-10-12 01:03:48 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2003-04-17 17:34:37 +02:00
|
|
|
Dumps can be output in script or archive file formats. The script
|
|
|
|
files are in plain-text format and contain the SQL commands required
|
|
|
|
to reconstruct the database to the state it was in at the time it was
|
|
|
|
saved. To restore these scripts, use <xref linkend="app-psql">. They
|
|
|
|
can be used to reconstruct the database even on other machines and
|
|
|
|
other architectures, with some modifications even on other SQL
|
|
|
|
database products.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
The alternative archive file formats that are meant to be used with
|
|
|
|
<xref linkend="app-pgrestore"> to rebuild the database, and they also
|
|
|
|
allow <application>pg_restore</application> to be selective about
|
|
|
|
what is restored, or even to reorder the items prior to being
|
|
|
|
restored. The archive files are also designed to be portable across
|
2001-08-22 22:23:24 +02:00
|
|
|
architectures.
|
2001-03-06 19:55:57 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
When used with one of the archive file formats and combined with
|
2003-04-17 17:34:37 +02:00
|
|
|
<application>pg_restore</application>,
|
|
|
|
<application>pg_dump</application> provides a flexible archival and
|
2002-10-12 01:03:48 +02:00
|
|
|
transfer mechanism. <application>pg_dump</application> can be used to
|
2003-04-17 17:34:37 +02:00
|
|
|
backup an entire database, then <application>pg_restore</application>
|
|
|
|
can be used to examine the archive and/or select which parts of the
|
|
|
|
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 it is not possible to
|
|
|
|
reorder data when loading, but it is otherwise quite flexible;
|
|
|
|
moreover, it can be manipulated with other tools such as
|
|
|
|
<command>tar</command>.
|
2001-08-22 22:23:24 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2003-03-24 15:32:51 +01:00
|
|
|
While running <application>pg_dump</application>, one should examine the
|
2001-08-22 22:23:24 +02:00
|
|
|
output for any warnings (printed on standard error), especially in
|
|
|
|
light of the limitations listed below.
|
|
|
|
</para>
|
|
|
|
|
2002-08-27 20:57:26 +02:00
|
|
|
</refsect1>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2002-08-27 20:57:26 +02:00
|
|
|
<refsect1 id="pg-dump-options">
|
|
|
|
<title>Options</title>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2002-08-27 20:57:26 +02:00
|
|
|
<para>
|
|
|
|
The following command-line options are used to control the output format.
|
1999-07-06 19:16:42 +02:00
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
|
|
<term><replaceable class="parameter">dbname</replaceable></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2002-08-10 18:57:32 +02:00
|
|
|
Specifies the name of the database to be dumped. If this is
|
|
|
|
not specified, the environment variable
|
|
|
|
<envar>PGDATABASE</envar> is used. If that is not set, the
|
|
|
|
user name specified for the connection is used.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-a</></term>
|
|
|
|
<term><option>--data-only</></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2004-07-10 17:51:28 +02:00
|
|
|
Dump only the data, not the object definitions (schema)
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
2001-10-24 00:11:22 +02:00
|
|
|
|
|
|
|
<para>
|
2001-11-28 21:49:10 +01:00
|
|
|
This option is only meaningful for the plain-text format. For
|
2001-10-24 00:11:22 +02:00
|
|
|
the other formats, you may specify the option when you
|
|
|
|
call <command>pg_restore</command>.
|
|
|
|
</para>
|
1999-07-06 19:16:42 +02:00
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2001-03-05 19:42:57 +01:00
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-b</></term>
|
|
|
|
<term><option>--blobs</></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-09-21 23:58:30 +02:00
|
|
|
Include large objects in dump.
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-c</option></term>
|
|
|
|
<term><option>--clean</option></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-10-24 00:11:22 +02:00
|
|
|
Output commands to clean (drop)
|
|
|
|
database objects prior to (the commands for) creating them.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-11-28 21:49:10 +01:00
|
|
|
This option is only meaningful for the plain-text format. For
|
2001-10-24 00:11:22 +02:00
|
|
|
the other formats, you may specify the option when you
|
|
|
|
call <command>pg_restore</command>.
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-C</></term>
|
|
|
|
<term><option>--create</></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-10-24 00:11:22 +02:00
|
|
|
Begin the output with a command to create the
|
|
|
|
database itself and reconnect to the created database. (With a
|
|
|
|
script of this form, it doesn't matter which database you connect
|
|
|
|
to before running the script.)
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-11-28 21:49:10 +01:00
|
|
|
This option is only meaningful for the plain-text format. For
|
2001-10-24 00:11:22 +02:00
|
|
|
the other formats, you may specify the option when you
|
|
|
|
call <command>pg_restore</command>.
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-d</option></term>
|
|
|
|
<term><option>--inserts</option></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-10-24 00:11:22 +02:00
|
|
|
Dump data as <command>INSERT</command> commands (rather
|
2001-08-22 22:23:24 +02:00
|
|
|
than <command>COPY</command>). This will make restoration very
|
2002-10-12 01:03:48 +02:00
|
|
|
slow, but it makes the archives more portable to other SQL database
|
2003-11-04 10:55:39 +01:00
|
|
|
management systems.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-D</option></term>
|
|
|
|
<term><option>--column-inserts</option></term>
|
|
|
|
<term><option>--attribute-inserts</option></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Dump data as <command>INSERT</command> commands with explicit
|
2001-08-12 21:02:39 +02:00
|
|
|
column names (<literal>INSERT INTO
|
|
|
|
<replaceable>table</replaceable>
|
|
|
|
(<replaceable>column</replaceable>, ...) VALUES
|
2001-10-24 00:11:22 +02:00
|
|
|
...</literal>). This will make restoration very slow,
|
2003-03-24 15:32:51 +01:00
|
|
|
but it is necessary if you desire to rearrange the column ordering.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2001-03-05 19:42:57 +01:00
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-f <replaceable class="parameter">file</replaceable></option></term>
|
|
|
|
<term><option>--file=<replaceable class="parameter">file</replaceable></option></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
Send output to the specified file. If this is omitted, the
|
|
|
|
standard output is used.
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-F <replaceable class="parameter">format</replaceable></option></term>
|
|
|
|
<term><option>--format=<replaceable class="parameter">format</replaceable></option></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
Selects the format of the output.
|
|
|
|
<replaceable>format</replaceable> can be one of the following:
|
2001-03-05 19:42:57 +01:00
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
2003-03-24 15:32:51 +01:00
|
|
|
<term><literal>p</></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-11-28 21:49:10 +01:00
|
|
|
Output a plain-text <acronym>SQL</acronym> script file (default)
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2003-03-24 15:32:51 +01:00
|
|
|
<term><literal>t</></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2003-03-24 15:32:51 +01:00
|
|
|
Output a <command>tar</command> archive suitable for input into
|
2002-10-12 01:03:48 +02:00
|
|
|
<application>pg_restore</application>. Using this archive format
|
2004-07-10 17:51:28 +02:00
|
|
|
allows reordering and/or exclusion of database objects
|
2001-03-05 19:42:57 +01:00
|
|
|
at the time the database is restored. It is also possible to limit
|
|
|
|
which data is reloaded at restore time.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2003-03-24 15:32:51 +01:00
|
|
|
<term><literal>c</></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-11-28 21:49:10 +01:00
|
|
|
Output a custom archive suitable for input into
|
2002-10-12 01:03:48 +02:00
|
|
|
<application>pg_restore</application>. This is the most flexible
|
2004-07-10 17:51:28 +02:00
|
|
|
format in that it allows reordering of loading data as well
|
|
|
|
as object definitions. This format is also compressed by default.
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
2001-03-06 19:55:57 +01:00
|
|
|
</para>
|
2001-03-05 19:42:57 +01:00
|
|
|
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
1999-07-06 19:16:42 +02:00
|
|
|
|
2000-04-04 07:22:46 +02:00
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-i</></term>
|
|
|
|
<term><option>--ignore-version</></term>
|
2000-04-04 07:22:46 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2002-09-07 18:14:33 +02:00
|
|
|
Ignore version mismatch between
|
|
|
|
<application>pg_dump</application> and the database server.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
<application>pg_dump</application> can handle databases from
|
2002-11-15 04:11:18 +01:00
|
|
|
previous releases of <productname>PostgreSQL</>, but very old
|
|
|
|
versions are not supported anymore (currently prior to 7.0).
|
|
|
|
Use this option if you need to override the version check (and
|
|
|
|
if <application>pg_dump</application> then fails, don't say
|
|
|
|
you weren't warned).
|
2000-04-04 07:22:46 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2003-02-13 05:54:16 +01:00
|
|
|
<varlistentry>
|
|
|
|
<term><option>-n <replaceable class="parameter">namespace</replaceable></option></term>
|
|
|
|
<term><option>--schema=<replaceable class="parameter">schema</replaceable></option></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Dump the contents of <replaceable class="parameter">schema</>
|
|
|
|
only. If this option is not specified, all non-system schemas
|
|
|
|
in the target database will be dumped.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<note>
|
|
|
|
<para>
|
|
|
|
In this mode, <application>pg_dump</application> makes no
|
2003-06-11 18:29:42 +02:00
|
|
|
attempt to dump any other database objects that objects in the
|
|
|
|
selected schema may depend upon. Therefore, there is no
|
|
|
|
guarantee that the results of a single-schema dump can be
|
2003-02-13 05:54:16 +01:00
|
|
|
successfully restored by themselves into a clean database.
|
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2001-03-05 19:42:57 +01:00
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-o</></term>
|
|
|
|
<term><option>--oids</></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
Dump object identifiers (<acronym>OID</acronym>s) for every
|
2002-11-15 04:11:18 +01:00
|
|
|
table. Use this option if your application references the <acronym>OID</>
|
2001-08-22 22:23:24 +02:00
|
|
|
columns in some way (e.g., in a foreign key constraint).
|
|
|
|
Otherwise, this option should not be used.
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-O</></term>
|
|
|
|
<term><option>--no-owner</option></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2003-09-24 00:48:53 +02:00
|
|
|
Do not output commands to set
|
|
|
|
ownership of objects to match the original database.
|
|
|
|
By default, <application>pg_dump</application> issues
|
|
|
|
<command>SET SESSION AUTHORIZATION</command>
|
2004-07-10 17:51:28 +02:00
|
|
|
statements to set ownership of created database objects.
|
2003-09-24 00:48:53 +02:00
|
|
|
These statements
|
|
|
|
will fail when the script is run unless it is started by a superuser
|
|
|
|
(or the same user that owns all of the objects in the script).
|
|
|
|
To make a script that can be restored by any user, but will give
|
|
|
|
that user ownership of all the objects, specify <option>-O</>.
|
2001-08-22 22:23:24 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-11-28 21:49:10 +01:00
|
|
|
This option is only meaningful for the plain-text format. For
|
2001-10-24 00:11:22 +02:00
|
|
|
the other formats, you may specify the option when you
|
2001-08-22 22:23:24 +02:00
|
|
|
call <command>pg_restore</command>.
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-R</option></term>
|
|
|
|
<term><option>--no-reconnect</option></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2003-09-24 00:48:53 +02:00
|
|
|
This option is obsolete but still accepted for backwards
|
|
|
|
compatibility.
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-s</option></term>
|
|
|
|
<term><option>--schema-only</option></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2004-07-10 17:51:28 +02:00
|
|
|
Dump only the object definitions (schema), not data.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2001-03-05 19:42:57 +01:00
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-S <replaceable class="parameter">username</replaceable></option></term>
|
|
|
|
<term><option>--superuser=<replaceable class="parameter">username</replaceable></option></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2002-05-11 00:36:27 +02:00
|
|
|
Specify the superuser user name to use when disabling triggers.
|
|
|
|
This is only relevant if <option>--disable-triggers</> is used.
|
2003-09-24 00:48:53 +02:00
|
|
|
(Usually, it's better to leave this out, and instead start the
|
2002-05-11 00:36:27 +02:00
|
|
|
resulting script as superuser.)
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-t <replaceable class="parameter">table</replaceable></option></term>
|
|
|
|
<term><option>--table=<replaceable class="parameter">table</replaceable></option></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2003-02-13 05:54:16 +01:00
|
|
|
Dump data for <replaceable class="parameter">table</replaceable>
|
2003-06-11 18:29:42 +02:00
|
|
|
only. It is possible for there to be
|
2003-02-13 05:54:16 +01:00
|
|
|
multiple tables with the same name in different schemas; if that
|
2003-06-11 18:29:42 +02:00
|
|
|
is the case, all matching tables will be dumped. Specify both
|
|
|
|
<option>--schema</> and <option>--table</> to select just one table.
|
2003-02-13 05:54:16 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<note>
|
|
|
|
<para>
|
|
|
|
In this mode, <application>pg_dump</application> makes no
|
2003-06-11 18:29:42 +02:00
|
|
|
attempt to dump any other database objects that the selected table
|
|
|
|
may depend upon. Therefore, there is no guarantee
|
|
|
|
that the results of a single-table dump can be successfully
|
2003-02-13 05:54:16 +01:00
|
|
|
restored by themselves into a clean database.
|
|
|
|
</para>
|
|
|
|
</note>
|
2001-03-05 19:42:57 +01:00
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-v</></term>
|
|
|
|
<term><option>--verbose</></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2002-08-27 20:57:26 +02:00
|
|
|
Specifies verbose mode. This will cause
|
2004-05-31 15:37:52 +02:00
|
|
|
<application>pg_dump</application> to output detailed object
|
2004-06-07 22:35:57 +02:00
|
|
|
comments and start/stop times to the dump file, and progress
|
|
|
|
messages to standard error.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-x</></term>
|
|
|
|
<term><option>--no-privileges</></term>
|
|
|
|
<term><option>--no-acl</></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
Prevent dumping of access privileges (grant/revoke commands).
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2004-03-23 23:06:08 +01:00
|
|
|
<term><option>-X disable-dollar-quoting</></term>
|
|
|
|
<term><option>--disable-dollar-quoting</></term>
|
2001-08-22 22:23:24 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2004-03-23 23:06:08 +01:00
|
|
|
This option disables the use of dollar quoting for function bodies,
|
|
|
|
and forces them to be quoted using SQL standard string syntax.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
2004-03-23 23:06:08 +01:00
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2001-03-05 19:42:57 +01:00
|
|
|
|
2002-05-11 00:36:27 +02:00
|
|
|
<varlistentry>
|
|
|
|
<term><option>-X disable-triggers</></term>
|
|
|
|
<term><option>--disable-triggers</></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
This option is only relevant when creating a data-only dump.
|
2004-03-23 23:06:08 +01:00
|
|
|
It instructs <application>pg_dump</application> to include commands
|
|
|
|
to temporarily disable triggers on the target tables while
|
|
|
|
the data is reloaded. Use this if you have referential
|
|
|
|
integrity checks or other triggers on the tables that you
|
|
|
|
do not want to invoke during data reload.
|
2002-05-11 00:36:27 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Presently, the commands emitted for <option>--disable-triggers</>
|
2004-03-23 23:06:08 +01:00
|
|
|
must be done as superuser. So, you should also specify
|
|
|
|
a superuser name with <option>-S</>, or preferably be careful to
|
|
|
|
start the resulting script as a superuser.
|
2002-05-11 00:36:27 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
This option is only meaningful for the plain-text format. For
|
|
|
|
the other formats, you may specify the option when you
|
|
|
|
call <command>pg_restore</command>.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2004-03-23 23:06:08 +01:00
|
|
|
<varlistentry>
|
|
|
|
<term><option>-X use-set-session-authorization</></term>
|
|
|
|
<term><option>--use-set-session-authorization</></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
This option is obsolete but still accepted for backwards
|
|
|
|
compatibility.
|
|
|
|
<application>pg_dump</application> now always behaves in the
|
|
|
|
way formerly selected by this option.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2001-03-05 19:42:57 +01:00
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-Z <replaceable class="parameter">0..9</replaceable></option></term>
|
|
|
|
<term><option>--compress=<replaceable class="parameter">0..9</replaceable></option></term>
|
2001-03-05 19:42:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2004-03-23 23:06:08 +01:00
|
|
|
Specify the compression level to use in archive formats that
|
|
|
|
support compression. (Currently only the custom archive
|
|
|
|
format supports compression.)
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
1999-07-06 19:16:42 +02:00
|
|
|
</variablelist>
|
|
|
|
</para>
|
2002-08-27 20:57:26 +02:00
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<para>
|
2002-08-27 20:57:26 +02:00
|
|
|
The following command-line options control the database connection parameters.
|
1999-07-06 19:16:42 +02:00
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-h <replaceable class="parameter">host</replaceable></option></term>
|
|
|
|
<term><option>--host=<replaceable class="parameter">host</replaceable></option></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2003-03-24 15:32:51 +01:00
|
|
|
Specifies the host name of the machine on which the server is
|
|
|
|
running. If the value begins with a slash, it is used as the
|
|
|
|
directory for the Unix domain socket. The default is taken
|
|
|
|
from the <envar>PGHOST</envar> environment variable, if set,
|
|
|
|
else a Unix domain socket connection is attempted.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-p <replaceable class="parameter">port</replaceable></option></term>
|
|
|
|
<term><option>--port=<replaceable class="parameter">port</replaceable></option></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2003-03-24 15:32:51 +01:00
|
|
|
Specifies the TCP port or local Unix domain socket file
|
|
|
|
extension on which the server is listening for connections.
|
|
|
|
Defaults to the <envar>PGPORT</envar> environment variable, if
|
|
|
|
set, or a compiled-in default.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-U <replaceable>username</replaceable></option></term>
|
1999-07-06 19:16:42 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2002-08-10 18:57:32 +02:00
|
|
|
Connect as the given user
|
2001-05-17 23:12:49 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2002-03-22 20:20:45 +01:00
|
|
|
<term><option>-W</option></term>
|
2001-05-17 23:12:49 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Force a password prompt. This should happen automatically if
|
|
|
|
the server requires password authentication.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</para>
|
2001-03-06 19:55:57 +01:00
|
|
|
</refsect1>
|
1999-07-06 19:16:42 +02:00
|
|
|
|
2002-07-28 17:22:21 +02:00
|
|
|
<refsect1>
|
|
|
|
<title>Environment</title>
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
|
|
<term><envar>PGDATABASE</envar></term>
|
|
|
|
<term><envar>PGHOST</envar></term>
|
|
|
|
<term><envar>PGPORT</envar></term>
|
|
|
|
<term><envar>PGUSER</envar></term>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2003-02-13 05:54:16 +01:00
|
|
|
Default connection parameters.
|
2002-07-28 17:22:21 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</refsect1>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<refsect1 id="app-pgdump-diagnostics">
|
|
|
|
<title>Diagnostics</title>
|
|
|
|
|
2003-03-24 15:32:51 +01:00
|
|
|
<para>
|
|
|
|
<application>pg_dump</application> internally executes
|
|
|
|
<command>SELECT</command> statements. If you have problems running
|
|
|
|
<application>pg_dump</application>, make sure you are able to
|
|
|
|
select information from the database using, for example, <xref
|
|
|
|
linkend="app-psql">.
|
|
|
|
</para>
|
1999-07-06 19:16:42 +02:00
|
|
|
</refsect1>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
|
|
|
|
<refsect1 id="pg-dump-notes">
|
|
|
|
<title>Notes</title>
|
2002-02-11 01:14:10 +01:00
|
|
|
|
|
|
|
<para>
|
2003-03-24 15:32:51 +01:00
|
|
|
If your database cluster has any local additions to the <literal>template1</> database,
|
2002-10-12 01:03:48 +02:00
|
|
|
be careful to restore the output of <application>pg_dump</application> into a
|
2002-02-11 01:14:10 +01:00
|
|
|
truly empty database; otherwise you are likely to get errors due to
|
|
|
|
duplicate definitions of the added objects. To make an empty database
|
2003-03-24 15:32:51 +01:00
|
|
|
without any local additions, copy from <literal>template0</> not <literal>template1</>,
|
2002-02-11 01:14:10 +01:00
|
|
|
for example:
|
|
|
|
<programlisting>
|
2002-10-12 01:03:48 +02:00
|
|
|
CREATE DATABASE foo WITH TEMPLATE template0;
|
2002-02-11 01:14:10 +01:00
|
|
|
</programlisting>
|
|
|
|
</para>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
<para>
|
2002-10-12 01:03:48 +02:00
|
|
|
<application>pg_dump</application> has a few limitations:
|
1999-07-06 19:16:42 +02:00
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2002-10-12 01:03:48 +02:00
|
|
|
When dumping a single table or as plain text, <application>pg_dump</application>
|
2003-03-24 15:32:51 +01:00
|
|
|
does not handle large objects. Large objects must be dumped with the
|
|
|
|
entire database using one of the non-text archive formats.
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
2000-04-11 16:43:54 +02:00
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2003-03-24 15:32:51 +01:00
|
|
|
When a data-only dump is chosen and the option
|
|
|
|
<option>--disable-triggers</> is used,
|
|
|
|
<application>pg_dump</application> emits commands to disable
|
|
|
|
triggers on user tables before inserting the data and commands
|
|
|
|
to re-enable them after the data has been inserted. If the
|
|
|
|
restore is stopped in the middle, the system catalogs may be
|
|
|
|
left in the wrong state.
|
2000-04-11 16:43:54 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
2002-09-06 23:58:36 +02:00
|
|
|
|
|
|
|
<para>
|
|
|
|
Members of tar archives are limited to a size less than 8 GB.
|
|
|
|
(This is an inherent limitation of the tar file format.) Therefore
|
|
|
|
this format cannot be used if the textual representation of a table
|
|
|
|
exceeds that size. The total size of a tar archive and any of the
|
|
|
|
other output formats is not limited, except possibly by the
|
|
|
|
operating system.
|
|
|
|
</para>
|
2003-03-18 01:02:11 +01:00
|
|
|
|
|
|
|
<para>
|
2003-12-01 23:08:02 +01:00
|
|
|
The dump file produced by <application>pg_dump</application> does
|
|
|
|
not contain the statistics used by the optimizer to make query
|
|
|
|
planning decisions. Therefore, it is wise to run
|
|
|
|
<command>ANALYZE</command> after restoring from a dump file to
|
|
|
|
ensure good performance.
|
2003-03-18 01:02:11 +01:00
|
|
|
</para>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
</refsect1>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<refsect1 id="pg-dump-examples">
|
|
|
|
<title>Examples</title>
|
1999-07-06 19:16:42 +02:00
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<para>
|
|
|
|
To dump a database:
|
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>pg_dump mydb > db.out</userinput>
|
|
|
|
</screen>
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
To reload this database:
|
2001-03-06 19:55:57 +01:00
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>psql -d database -f db.out</userinput>
|
|
|
|
</screen>
|
1999-07-06 19:16:42 +02:00
|
|
|
</para>
|
2001-03-05 19:42:57 +01:00
|
|
|
|
|
|
|
<para>
|
2001-09-21 23:58:30 +02:00
|
|
|
To dump a database called <literal>mydb</> that contains
|
|
|
|
large objects to a <filename>tar</filename> file:
|
2001-03-05 19:42:57 +01:00
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>pg_dump -Ft -b mydb > db.tar</userinput>
|
|
|
|
</screen>
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-09-21 23:58:30 +02:00
|
|
|
To reload this database (with large objects) to an
|
|
|
|
existing database called <literal>newdb</>:
|
2001-03-05 19:42:57 +01:00
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>pg_restore -d newdb db.tar</userinput>
|
|
|
|
</screen>
|
2001-03-05 19:42:57 +01:00
|
|
|
</para>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
</refsect1>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2001-08-22 22:23:24 +02:00
|
|
|
<refsect1>
|
|
|
|
<title>History</title>
|
|
|
|
|
|
|
|
<para>
|
2002-10-12 01:03:48 +02:00
|
|
|
The <application>pg_dump</application> utility first appeared in
|
2003-03-24 15:32:51 +01:00
|
|
|
<application>Postgres95</application> release 0.02. The
|
2001-08-22 22:23:24 +02:00
|
|
|
non-plain-text output formats were introduced in
|
2003-09-11 23:42:20 +02:00
|
|
|
<productname>PostgreSQL</productname> release 7.1.
|
2001-08-22 22:23:24 +02:00
|
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<refsect1>
|
|
|
|
<title>See Also</title>
|
|
|
|
|
|
|
|
<simplelist type="inline">
|
|
|
|
<member><xref linkend="app-pg-dumpall"></member>
|
|
|
|
<member><xref linkend="app-pgrestore"></member>
|
|
|
|
<member><xref linkend="app-psql"></member>
|
|
|
|
</simplelist>
|
|
|
|
</refsect1>
|
|
|
|
|
1999-07-06 19:16:42 +02:00
|
|
|
</refentry>
|
|
|
|
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
|
|
Local variables:
|
|
|
|
mode: sgml
|
|
|
|
sgml-omittag:nil
|
|
|
|
sgml-shorttag:t
|
|
|
|
sgml-minimize-attributes:nil
|
|
|
|
sgml-always-quote-attributes:t
|
|
|
|
sgml-indent-step:1
|
|
|
|
sgml-indent-data:t
|
|
|
|
sgml-parent-document:nil
|
|
|
|
sgml-default-dtd-file:"../reference.ced"
|
|
|
|
sgml-exposed-tags:nil
|
|
|
|
sgml-local-catalogs:"/usr/lib/sgml/catalog"
|
|
|
|
sgml-local-ecat-files:nil
|
|
|
|
End:
|
|
|
|
-->
|