From 906254a53c7efee365ece567ddeab69ac9870d53 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Mon, 11 Feb 2002 00:14:10 +0000 Subject: [PATCH] pg_dump and pg_restore man pages need to mention that one should restore into a virgin database, ie, one created from template0, if there are any site-local additions in template1. --- doc/src/sgml/ref/pg_dump.sgml | 17 +++++++++++++++-- doc/src/sgml/ref/pg_restore.sgml | 18 +++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index 9aadae36e03..0169043e96a 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -1,5 +1,5 @@ <!-- -$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 --> @@ -603,8 +603,21 @@ connectDBStart() -- connect() failed: No such file or directory <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> diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml index ef0587c11f9..b88bb4ae748 100644 --- a/doc/src/sgml/ref/pg_restore.sgml +++ b/doc/src/sgml/ref/pg_restore.sgml @@ -1,4 +1,4 @@ -<!-- $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> @@ -513,13 +513,25 @@ connectDBStart() -- connect() failed: No such file or directory 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. @@ -538,7 +550,7 @@ connectDBStart() -- connect() failed: No such file or directory <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> -- GitLab