<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.41 2001/12/08 03:24:37 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.42 2002/02/11 00:14:10 tgl Exp $
PostgreSQL documentation
-->
<refsect1 id="pg-dump-notes">
<title>Notes</title>
+
+ <para>
+ If your installation has any local additions to the template1 database,
+ be careful to restore the output of <command>pg_dump</command> into a
+ truly empty database; otherwise you are likely to get errors due to
+ duplicate definitions of the added objects. To make an empty database
+ without any local additions, copy from template0 not template1,
+ for example:
+<programlisting>
+CREATE DATABASE foo WITH TEMPLATE = template0;
+</programlisting>
+ </para>
+
<para>
- <command>pg_dump</command> has a few limitations.
+ <command>pg_dump</command> has a few limitations:
<itemizedlist>
<listitem>
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.21 2001/11/28 20:49:10 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.22 2002/02/11 00:14:10 tgl Exp $ -->
<refentry id="APP-PGRESTORE">
<docinfo>
Notes
</title>
+ <para>
+ If your installation has any local additions to the template1 database,
+ be careful to load the output of <command>pg_restore</command> into a
+ truly empty database; otherwise you are likely to get errors due to
+ duplicate definitions of the added objects. To make an empty database
+ without any local additions, copy from template0 not template1,
+ for example:
+<programlisting>
+CREATE DATABASE foo WITH TEMPLATE = template0;
+</programlisting>
+ </para>
+
<para>
The limitations of <command>pg_restore</command> are detailed below.
<itemizedlist>
<listitem>
<para>
- When restoring data to a table, <command>pg_restore</command> emits queries
+ When restoring data to a pre-existing table, <command>pg_restore</command> emits queries
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
middle, the system catalogs may be left in the wrong state.
<para>
See the <xref linkend="app-pgdump"> documentation for details on
- limitation of <command>pg_dump</command>.
+ limitations of <command>pg_dump</command>.
</para>
</refsect1>