2001-09-13 17:55:24 +02:00
|
|
|
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.16 2001/09/13 15:55:24 petere Exp $ -->
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<refentry id="APP-PGRESTORE">
|
2001-03-06 19:55:57 +01:00
|
|
|
<docinfo>
|
|
|
|
<date>2001-03-06</date>
|
|
|
|
</docinfo>
|
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<refmeta>
|
2001-03-06 19:55:57 +01:00
|
|
|
<refentrytitle>
|
|
|
|
pg_restore
|
2000-10-12 16:09:37 +02:00
|
|
|
</refentrytitle>
|
2000-12-26 00:15:27 +01:00
|
|
|
<manvolnum>1</manvolnum>
|
2000-10-12 16:09:37 +02:00
|
|
|
<refmiscinfo>Application</refmiscinfo>
|
|
|
|
</refmeta>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<refnamediv>
|
2001-03-06 19:55:57 +01:00
|
|
|
<refname>pg_restore</refname>
|
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<refpurpose>
|
2001-09-03 14:57:50 +02:00
|
|
|
restore a <productname>PostgreSQL</productname> database from an archive file created by pg_dump
|
2000-10-12 16:09:37 +02:00
|
|
|
</refpurpose>
|
|
|
|
</refnamediv>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<refsynopsisdiv>
|
2001-03-06 19:55:57 +01:00
|
|
|
<cmdsynopsis>
|
|
|
|
<command>pg_restore</command>
|
|
|
|
<arg> -a </arg>
|
|
|
|
<arg> -c </arg>
|
|
|
|
<arg> -C </arg>
|
|
|
|
<arg> -d <replaceable class="parameter">dbname</replaceable> </arg>
|
|
|
|
<arg> -f <replaceable class="parameter">archive-file</replaceable> </arg>
|
|
|
|
<arg> -F <replaceable class="parameter">format</replaceable> </arg>
|
|
|
|
<arg> -i <replaceable class="parameter">index</replaceable> </arg>
|
|
|
|
<arg> -l </arg>
|
|
|
|
<arg> -L <replaceable class="parameter">contents-file</replaceable> </arg>
|
|
|
|
<group> <arg> -N </arg> <arg> -o </arg> <arg> -r </arg> </group>
|
|
|
|
<arg> -O </arg>
|
|
|
|
<arg> -P <replaceable class="parameter">function-name</replaceable> </arg>
|
|
|
|
<arg> -R </arg>
|
|
|
|
<arg> -s </arg>
|
|
|
|
<arg> -S </arg>
|
|
|
|
<arg> -t <replaceable class="parameter">table</replaceable> </arg>
|
|
|
|
<arg> -T <replaceable class="parameter">trigger</replaceable> </arg>
|
|
|
|
<arg> -v </arg>
|
|
|
|
<arg> -x </arg>
|
2001-08-22 22:23:24 +02:00
|
|
|
<arg> -X <replaceable>keyword</replaceable></arg>
|
2001-03-06 19:55:57 +01:00
|
|
|
<arg> -h <replaceable class="parameter">host</replaceable> </arg>
|
|
|
|
<arg> -p <replaceable class="parameter">port</replaceable> </arg>
|
2001-05-17 23:12:49 +02:00
|
|
|
<arg> -U <replaceable>username</replaceable> </arg>
|
|
|
|
<arg> -W </arg>
|
2001-03-06 19:55:57 +01:00
|
|
|
<arg> <replaceable class="parameter">archive-file</replaceable> </arg>
|
|
|
|
</cmdsynopsis>
|
|
|
|
</refsynopsisdiv>
|
|
|
|
|
|
|
|
|
|
|
|
<refsect1 id="app-pgrestore-description">
|
|
|
|
<title>
|
|
|
|
Description
|
|
|
|
</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
<command>pg_restore</command> is a utility for restoring a
|
2001-08-22 22:23:24 +02:00
|
|
|
<productname>Postgres</productname> database from an archive
|
|
|
|
created by <xref linkend="app-pgdump"> in one of the non-plain-text
|
|
|
|
formats.
|
2001-03-06 19:55:57 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
The archive files contain information for
|
|
|
|
<command>pg_restore</command> to rebuild the database, but also
|
|
|
|
allow <command>pg_restore</command> to be selective about what is
|
|
|
|
restored, or even to reorder the items prior to being restored. The
|
|
|
|
archive files are designed to be portable across architectures. It
|
|
|
|
will issue the commands necessary to re-generate all user-defined
|
|
|
|
types, functions, tables, indexes, aggregates, and operators, as
|
|
|
|
well as the data in the tables.
|
2001-03-06 19:55:57 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
<command>pg_restore</command> can operate in two modes: If a
|
|
|
|
database name is specified, the archive is restored directly into
|
|
|
|
the database. Otherwise, a script containing the SQL commands
|
|
|
|
necessary to rebuild the database is created (and written to a file
|
|
|
|
or standard output), similar to the ones created by the
|
|
|
|
<command>pg_dump</command> plain text format. Some of the options
|
|
|
|
controlling the script output are therefore analogous to
|
|
|
|
<command>pg_dump</command>.
|
2001-03-06 19:55:57 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
Obviously, <command>pg_restore</command> cannot restore information
|
|
|
|
that is not present in the archive file; for instance, if the
|
|
|
|
archive was made using the <quote>dump data as
|
|
|
|
<command>INSERT</command>s</quote> option,
|
|
|
|
<command>pg_restore</command> will not be able to load the data
|
|
|
|
using <command>COPY</command> statements.
|
2001-03-06 19:55:57 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
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
|
|
|
|
<filename>tar</filename> format (<option>-Ft</option>) is not
|
|
|
|
compressed and it is not possible to reorder data when loading, but
|
|
|
|
it is otherwise quite flexible.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
To reorder the items, it is first necessary to dump the table of
|
|
|
|
contents of the archive:
|
2001-03-06 19:55:57 +01:00
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>pg_restore archive.file -l > archive.list</userinput>
|
|
|
|
</screen>
|
|
|
|
This file consists of a header and one line for each item, e.g.,
|
|
|
|
<programlisting>
|
|
|
|
;
|
|
|
|
; Archive created at Fri Jul 28 22:28:36 2000
|
|
|
|
; dbname: birds
|
|
|
|
; TOC Entries: 74
|
|
|
|
; Compression: 0
|
|
|
|
; Dump Version: 1.4-0
|
|
|
|
; Format: CUSTOM
|
|
|
|
;
|
|
|
|
;
|
|
|
|
; Selected TOC Entries:
|
|
|
|
;
|
|
|
|
2; 145344 TABLE species postgres
|
|
|
|
3; 145344 ACL species
|
|
|
|
4; 145359 TABLE nt_header postgres
|
|
|
|
5; 145359 ACL nt_header
|
|
|
|
6; 145402 TABLE species_records postgres
|
|
|
|
7; 145402 ACL species_records
|
|
|
|
8; 145416 TABLE ss_old postgres
|
|
|
|
9; 145416 ACL ss_old
|
|
|
|
10; 145433 TABLE map_resolutions postgres
|
|
|
|
11; 145433 ACL map_resolutions
|
|
|
|
12; 145443 TABLE hs_old postgres
|
|
|
|
13; 145443 ACL hs_old
|
|
|
|
</programlisting>
|
|
|
|
Semi-colons are comment delimiters, and the numbers at the start of lines refer to the
|
|
|
|
internal archive ID assigned to each item.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Lines in the file can be commented out, deleted, and reordered. For example,
|
|
|
|
<programlisting>
|
|
|
|
10; 145433 TABLE map_resolutions postgres
|
|
|
|
;2; 145344 TABLE species postgres
|
|
|
|
;4; 145359 TABLE nt_header postgres
|
|
|
|
6; 145402 TABLE species_records postgres
|
|
|
|
;8; 145416 TABLE ss_old postgres
|
|
|
|
</programlisting>
|
|
|
|
could be used as input to <command>pg_restore</command> and would only restore
|
|
|
|
items 10 and 6, in that order.
|
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>pg_restore archive.file -L archive.list</userinput>
|
|
|
|
</screen>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<refsect2 id="app-pgrestore-options">
|
2000-10-12 16:09:37 +02:00
|
|
|
<title>
|
2001-03-06 19:55:57 +01:00
|
|
|
Options
|
2000-10-12 16:09:37 +02:00
|
|
|
</title>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
<command>pg_restore</command> accepts the following command
|
|
|
|
line arguments. (Long option forms are only available on some platforms.)
|
2000-10-12 16:09:37 +02:00
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
|
|
<term><replaceable class="parameter">archive-name</replaceable></term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2000-10-20 15:44:39 +02:00
|
|
|
Specifies the location of the archive file to be restored.
|
2001-03-06 19:55:57 +01:00
|
|
|
If not specified, and no <option>-f</option> option is specified, then the standard input is used.
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-a</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--data-only</term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Restore only the data, no schema (definitions).
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2000-10-20 15:44:39 +02:00
|
|
|
<varlistentry>
|
|
|
|
<term>-c</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--clean</term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Clean (drop) schema prior to create.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-C</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--create</term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Include SQL to create the schema.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<varlistentry>
|
|
|
|
<term>-d <replaceable class="parameter">dbname</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--dbname=<replaceable class="parameter">dbname</replaceable></term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2000-10-20 15:44:39 +02:00
|
|
|
Connect to database <replaceable class="parameter">dbname</replaceable> and restore
|
|
|
|
directly into the database. BLOBs can only be restored by using a direct database connection.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>-f <replaceable>filename</replaceable></term>
|
|
|
|
<term>--file=<replaceable>filename</replaceable></term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Specify output file for generated script. (Use with the
|
|
|
|
<option>-l</option> option.) Default is the standard output.
|
2000-10-20 15:44:39 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-F <replaceable class="parameter">format</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--format=<replaceable class="parameter">format</replaceable></term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Specify format of the archive.
|
2001-03-06 19:55:57 +01:00
|
|
|
It is not necessary to specify the format, since <COMMAND>pg_restore</COMMAND> will
|
2000-10-20 15:44:39 +02:00
|
|
|
determine the format automatically. If specified, it can be one of the following:
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>t</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Archive is a <filename>tar</filename> archive. Using this archive format allows reordering and/or
|
2000-10-20 15:44:39 +02:00
|
|
|
exclusion of schema elements at the time the database is restored. It is also possible to limit which
|
|
|
|
data is reloaded at restore time.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>c</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Archive is in the custom format of <command>pg_dump</command>. This is the most flexible format
|
2000-10-20 15:44:39 +02:00
|
|
|
in that it allows reordering of data load as well as schema elements.
|
|
|
|
This format is also compressed by default.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
|
|
|
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-i <replaceable class="parameter">index</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--index=<replaceable class="parameter">index</replaceable></term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Restore definition for named <replaceable class="parameter">index</replaceable> only.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-l</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--list</term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
List the contents of the archive. The output of this command can be used with the <option>-L</option> option
|
2000-10-20 15:44:39 +02:00
|
|
|
to restrict and reorder the items that are restored.
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2001-03-06 06:22:50 +01:00
|
|
|
<varlistentry>
|
|
|
|
<term>-L <replaceable class="parameter">list-file</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--use-list=<replaceable class="parameter">list-file</replaceable></term>
|
2001-03-06 06:22:50 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Restore elements in <REPLACEABLE CLASS="PARAMETER">list-file</REPLACEABLE> only, and in the
|
2001-09-13 17:55:24 +02:00
|
|
|
order they appear in the file. Lines can be moved and may also be commented out by placing a <literal>;</literal> at the
|
2001-03-06 19:55:57 +01:00
|
|
|
start of the line.
|
2001-03-06 06:22:50 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<varlistentry>
|
|
|
|
<term>-N</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--orig-order</term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
2000-10-20 15:44:39 +02:00
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Restore items in the original dump order. By default <command>pg_dump</command> will dump items in an order convenient
|
|
|
|
to <command>pg_dump</command>, then save the archive in a modified OID order. This option overrides the OID ordering.
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-o</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--oid-order</term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Restore items in the OID order. By default <command>pg_dump</command> will dump items in an order convenient
|
|
|
|
to <command>pg_dump</command>, then save the archive in a modified OID order. This option enforces strict OID ordering.
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-O</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--no-owner</term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Prevent any attempt to restore original object ownership. Objects will be owned by the user name used
|
2000-10-20 15:44:39 +02:00
|
|
|
to attach to the database.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>-P <replaceable class="parameter">function-name</replaceable></term>
|
|
|
|
<term>--function=<replaceable class="parameter">function-name</replaceable></term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Specify a procedure or function to be restored.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-r</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--rearrange</term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Restore items in modified OID order. By default <command>pg_dump</command> will dump items in an order convenient
|
|
|
|
to <command>pg_dump</command>, then save the archive in a modified OID order. Most objects
|
2001-05-17 23:50:18 +02:00
|
|
|
will be restored in OID order, but some things (e.g., rules and indexes) will be restored at the end of
|
2000-10-20 15:44:39 +02:00
|
|
|
the process irrespective of their OIDs. This option is the default.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-R</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--no-reconnect</term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-08-22 22:23:24 +02:00
|
|
|
While restoring an archive, <command>pg_restore</command>
|
|
|
|
typically has to reconnect to the database several times with
|
|
|
|
different user names to set the correct ownership of the
|
|
|
|
created objects. If this is undesriable (e.g., because manual
|
|
|
|
interaction (passwords) would be necessary for each
|
|
|
|
reconnection), this option prevents
|
|
|
|
<command>pg_restore</command> from issuing any reconnection
|
|
|
|
requests. (A connection request while in plain text mode, not
|
|
|
|
connected to a database, is made by putting out a <xref
|
|
|
|
linkend="app-psql"> <command>\connect</command> command.)
|
|
|
|
However, this option is a rather blunt instrument because it
|
|
|
|
makes <command>pg_restore</command> lose all object ownership
|
|
|
|
information, <emphasis>unless</emphasis> you use the
|
|
|
|
<option>-X use-set-session-authorization</option> option.
|
2000-10-20 15:44:39 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-s</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--schema-only</term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Restore the schema (definitions), no data. Sequence values will be reset.
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2000-10-20 15:44:39 +02:00
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-S <replaceable class="parameter">username</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--superuser=<replaceable class="parameter">username</replaceable></term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Specify the superuser user name to use when disabling triggers and/or setting ownership of schema elements.
|
|
|
|
By default, <COMMAND>pg_restore</COMMAND> will use the current user name if it is a superuser.
|
2000-10-20 15:44:39 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-t <replaceable class="parameter">table</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--table=<replaceable class="parameter">table</replaceable></term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Restore schema/data for <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> only.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-T <replaceable class="parameter">trigger</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--trigger=<replaceable class="parameter">trigger</replaceable></term>
|
2000-10-20 15:44:39 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Restore definition of <REPLACEABLE CLASS="PARAMETER">trigger</REPLACEABLE> only.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<varlistentry>
|
|
|
|
<term>-v</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--verbose</term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Specifies verbose mode.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-x</term>
|
2001-08-12 21:02:39 +02:00
|
|
|
<term>--no-privileges</term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--no-acl</term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-08-12 21:02:39 +02:00
|
|
|
Prevent restoration of access privileges (grant/revoke commands).
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2001-08-22 22:23:24 +02:00
|
|
|
<varlistentry>
|
|
|
|
<term>-X use-set-session-authorization</term>
|
|
|
|
<term>--use-set-session-authorization</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Normally, if restoring an archive requires altering the
|
|
|
|
current database user (e.g., to set correct object
|
|
|
|
ownerships), a new connection to the database must be openend,
|
|
|
|
which might require manual interaction (e.g., passwords). If
|
|
|
|
you use the <option>-X use-set-session-authorization</option>,
|
|
|
|
then <command>pg_restore</command> will instead use the <xref
|
|
|
|
linkend="sql-set-session-authorization"> command. This has
|
|
|
|
the same effect, but it requires that the user restoring the
|
|
|
|
archive is a database superuser. This option effectively
|
|
|
|
overrides the <option>-R</option> option.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
</variablelist>
|
|
|
|
</para>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
<command>pg_restore</command> also accepts
|
2000-10-12 16:09:37 +02:00
|
|
|
the following command line arguments for connection parameters:
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
|
|
<term>-h <replaceable class="parameter">host</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--host=<replaceable class="parameter">host</replaceable></term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
Specifies the host name of the machine on which the
|
|
|
|
<command>postmaster</command>
|
2000-11-14 00:57:20 +01:00
|
|
|
is running. If host begins with a slash, it is used
|
2001-03-06 19:55:57 +01:00
|
|
|
as the directory for the Unix domain socket.
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-p <replaceable class="parameter">port</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<term>--port=<replaceable class="parameter">port</replaceable></term>
|
2000-10-12 16:09:37 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2000-10-20 15:44:39 +02:00
|
|
|
Specifies the Internet TCP/IP port or local Unix domain socket file
|
2001-03-06 19:55:57 +01:00
|
|
|
extension on which the <command>postmaster</command>
|
2000-10-12 16:09:37 +02:00
|
|
|
is listening for connections. The port number defaults to 5432,
|
|
|
|
or the value of the <envar>PGPORT</envar>
|
|
|
|
environment variable (if set).
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<varlistentry>
|
2001-05-17 23:12:49 +02:00
|
|
|
<term>-U <replaceable>username</replaceable></term>
|
2001-03-06 19:55:57 +01:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-05-17 23:12:49 +02:00
|
|
|
Connect as the given user.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>-W</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Force a password prompt. This should happen automatically if
|
|
|
|
the server requires password authentication.
|
2001-03-06 19:55:57 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
2000-10-12 16:09:37 +02:00
|
|
|
</variablelist>
|
|
|
|
</para>
|
|
|
|
</refsect2>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
</refsect1>
|
2000-10-12 16:09:37 +02:00
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
|
|
|
|
<refsect1 id="app-pgrestore-diagnostics">
|
|
|
|
<title>Diagnostics</title>
|
|
|
|
|
|
|
|
<msgset>
|
|
|
|
<msgentry>
|
|
|
|
<msg>
|
|
|
|
<msgmain>
|
|
|
|
<msgtext>
|
|
|
|
<screen><computeroutput>
|
2000-10-12 16:09:37 +02:00
|
|
|
Connection to database 'template1' failed.
|
2000-12-01 00:20:51 +01:00
|
|
|
connectDBStart() -- connect() failed: No such file or directory
|
|
|
|
Is the postmaster running locally
|
|
|
|
and accepting connections on Unix socket '/tmp/.s.PGSQL.5432'?
|
2001-03-06 19:55:57 +01:00
|
|
|
</computeroutput></screen>
|
|
|
|
</msgtext>
|
|
|
|
</msgmain>
|
|
|
|
</msg>
|
|
|
|
|
|
|
|
<msgexplan>
|
2000-10-12 16:09:37 +02:00
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
<command>pg_restore</command> could not attach to the
|
|
|
|
<command>postmaster</command>
|
2000-10-12 16:09:37 +02:00
|
|
|
process on the specified host and port. If you see this message,
|
2001-03-06 19:55:57 +01:00
|
|
|
ensure that the <command>postmaster</command>
|
2000-10-12 16:09:37 +02:00
|
|
|
is running on the proper host and that you have specified the proper
|
|
|
|
port. If your site uses an authentication system, ensure that you
|
|
|
|
have obtained the required authentication credentials.
|
|
|
|
</para>
|
2001-03-06 19:55:57 +01:00
|
|
|
</msgexplan>
|
|
|
|
</msgentry>
|
|
|
|
</msgset>
|
2000-10-12 16:09:37 +02:00
|
|
|
|
|
|
|
<note>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
When a direct database connection is specified using the -d option, <command>pg_restore</command>
|
2000-10-20 15:44:39 +02:00
|
|
|
internally executes <command>SQL</command> statements. If you have problems running
|
2001-03-06 19:55:57 +01:00
|
|
|
<command>pg_restore</command>,
|
2000-10-12 16:09:37 +02:00
|
|
|
make sure you are able to select information from the database using, for
|
2001-03-06 19:55:57 +01:00
|
|
|
example, <command>psql</command>.
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</note>
|
|
|
|
</refsect1>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
|
|
|
|
<refsect1 id="app-pgrestore-notes">
|
2000-10-12 16:09:37 +02:00
|
|
|
<title>
|
|
|
|
Notes
|
|
|
|
</title>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
2000-10-12 16:09:37 +02:00
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
The limitations of <command>pg_restore</command> are detailed below.
|
2000-10-12 16:09:37 +02:00
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
When restoring data to a table, <command>pg_restore</command> emits queries
|
2000-10-20 15:44:39 +02:00
|
|
|
to disable triggers on user tables before inserting the data then emits queries to
|
|
|
|
re-enable them after the data has been inserted. If the restore is stopped in the
|
2000-10-12 16:09:37 +02:00
|
|
|
middle, the system catalogs may be left in the wrong state.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
<command>pg_restore</command> will not restore BLOBs for a single table. If
|
2000-10-20 15:44:39 +02:00
|
|
|
an archive contains BLOBs, then all BLOBs will be restored.
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
|
|
|
<para>
|
|
|
|
See the <xref linkend="app-pgdump"> documentation for details on
|
|
|
|
limitation of <command>pg_dump</command>.
|
|
|
|
</para>
|
2000-10-12 16:09:37 +02:00
|
|
|
</refsect1>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
|
|
|
|
<refsect1 id="app-pgrestore-examples">
|
2000-10-12 16:09:37 +02:00
|
|
|
<title>
|
2001-03-06 19:55:57 +01:00
|
|
|
Examples
|
2000-10-12 16:09:37 +02:00
|
|
|
</title>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<para>
|
|
|
|
To dump a database:
|
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>pg_dump mydb > db.out</userinput>
|
|
|
|
</screen>
|
2000-10-12 16:09:37 +02:00
|
|
|
</para>
|
|
|
|
|
2000-10-20 15:44:39 +02:00
|
|
|
<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>
|
2000-10-20 15:44:39 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
To dump a database called mydb that contains
|
|
|
|
<acronym>BLOB</acronym>s to a <filename>tar</filename> file:
|
2000-10-20 15:44:39 +02:00
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>pg_dump -Ft -b mydb > db.tar</userinput>
|
|
|
|
</screen>
|
2000-10-20 15:44:39 +02:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2001-03-06 19:55:57 +01:00
|
|
|
To reload this database (with <acronym>BLOB</acronym>s) to an
|
|
|
|
existing database called newdb:
|
2000-10-20 15:44:39 +02:00
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<screen>
|
|
|
|
<prompt>$</prompt> <userinput>pg_restore -d newdb db.tar</userinput>
|
|
|
|
</screen>
|
2000-10-20 15:44:39 +02:00
|
|
|
</para>
|
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
</refsect1>
|
|
|
|
|
2001-08-22 22:23:24 +02:00
|
|
|
<refsect1>
|
|
|
|
<title>History</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
The <command>pg_restore</command> utility first appeared in
|
|
|
|
PostgreSQL 7.1.
|
|
|
|
</para>
|
|
|
|
</refsect1>
|
2001-03-06 19:55:57 +01:00
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>See Also</title>
|
2000-10-20 15:44:39 +02:00
|
|
|
|
2001-03-06 19:55:57 +01:00
|
|
|
<simplelist type="inline">
|
|
|
|
<member><xref linkend="app-pgdump"></member>
|
|
|
|
<member><xref linkend="app-pg-dumpall"></member>
|
|
|
|
<member><xref linkend="app-psql"></member>
|
|
|
|
<member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
|
|
|
|
</simplelist>
|
2000-10-12 16:09:37 +02:00
|
|
|
</refsect1>
|
|
|
|
</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:
|
|
|
|
-->
|