On 2019-Nov-08, Tom Lane wrote: > Alvaro Herrera <alvhe...@2ndquadrant.com> writes: > > Hmm. Maybe we can say "pristine database" and then add this explanation > > in a parenthical comment: > > > This is particularly handy when restoring a > > <literal>pg_dump</literal> dump: the dump script should be restored in a > > pristine database (one where no user-defined objects exist and where > > system objects have not been altered), to ensure that one recreates > > the correct contents of the dumped database, without conflicting > > with objects that might have been added to > > <literal>template1</literal> later on. > > So the patch becomes s/virgin/pristine/g plus add a parenthetical > definition for the first use? Works for me.
Well, there are three uses of the word "virgin". The first is for "virgin user", and the patch turns that into just "user". The second one is for "virgin database" and the patch has the effect you describe. The third one is also s/virgin//. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
diff --git a/doc/src/sgml/manage-ag.sgml b/doc/src/sgml/manage-ag.sgml index 0154064e50..7e7f0ed00c 100644 --- a/doc/src/sgml/manage-ag.sgml +++ b/doc/src/sgml/manage-ag.sgml @@ -197,15 +197,17 @@ createdb -O <replaceable>rolename</replaceable> <replaceable>dbname</replaceable predefined by your version of <productname>PostgreSQL</productname>. <literal>template0</literal> should never be changed after the database cluster has been initialized. By instructing <command>CREATE DATABASE</command> to copy <literal>template0</literal> instead - of <literal>template1</literal>, you can create a <quote>virgin</quote> user + of <literal>template1</literal>, you can create a user database that contains none of the site-local additions in <literal>template1</literal>. This is particularly handy when restoring a <literal>pg_dump</literal> dump: the dump script should be restored in a - virgin database to ensure that one recreates the correct contents + pristine database (one where no user-defined objects exist and where + system objects have not been altered), to ensure that one recreates + the correct contents of the dumped database, without conflicting with objects that might have been added to <literal>template1</literal> later on. </para> <para> diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml index 4014f6703b..e56aca6d30 100644 --- a/doc/src/sgml/ref/create_database.sgml +++ b/doc/src/sgml/ref/create_database.sgml @@ -52,11 +52,11 @@ CREATE DATABASE <replaceable class="parameter">name</replaceable> <para> By default, the new database will be created by cloning the standard system database <literal>template1</literal>. A different template can be specified by writing <literal>TEMPLATE <replaceable class="parameter">name</replaceable></literal>. In particular, - by writing <literal>TEMPLATE template0</literal>, you can create a virgin + by writing <literal>TEMPLATE template0</literal>, you can create a database containing only the standard objects predefined by your version of <productname>PostgreSQL</productname>. This is useful if you wish to avoid copying any installation-local objects that might have been added to <literal>template1</literal>.