]> granicus.if.org Git - postgresql/commitdiff
Add some more verbiage to man page's directions for pg_upgrade.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 31 Jul 1999 22:05:48 +0000 (22:05 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 31 Jul 1999 22:05:48 +0000 (22:05 +0000)
doc/src/sgml/ref/pg_upgrade.sgml

index 78f67cb9a4ac1ebe736a8d3f233e51a20ede6138..c2225c24f0a397cf8428bac1e91b670846276a72 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pg_upgrade.sgml,v 1.5 1999/07/22 15:09:13 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pg_upgrade.sgml,v 1.6 1999/07/31 22:05:48 tgl Exp $
 Postgres documentation
 -->
 
@@ -20,17 +20,16 @@ Postgres documentation
  </refnamediv>
  <refsynopsisdiv>
   <refsynopsisdivinfo>
-   <date>1999-07-20</date>
+   <date>1999-07-31</date>
   </refsynopsisdivinfo>
   <synopsis>
-pg_upgrade
 pg_upgrade [ -f <replaceable class="parameter">filename</replaceable> ] <replaceable class="parameter">old_data_dir</replaceable>
   </synopsis>
  </refsynopsisdiv>
 
  <refsect1 id="R1-APP-PG-UPGRADE-1">
   <refsect1info>
-   <date>1998-10-04</date>
+   <date>1999-07-31</date>
   </refsect1info>
   <title>
    Description
@@ -40,54 +39,66 @@ pg_upgrade [ -f <replaceable class="parameter">filename</replaceable> ] <replace
    <application>pg_upgrade</application>
    is a utility for upgrading from a previous
    PostgreSQL release without reloading all the data.
-   Not all <productname>Postgres</productname> releases can be handled 
-   this way; check the release notes for details on your installation.
+   Not all <productname>Postgres</productname> release transitions can be
+   handled this way; check the release notes for details on your installation.
   </para>
 
   <procedure>
-   <title>Upgrading <productname>Postgres</productname></title>
+   <title>Upgrading <productname>Postgres</productname> with pg_upgrade</title>
 
    <step performance="required">
     <para>
-     Back up your data directory.
+     Back up your existing data directory, preferably by making a
+     complete dump with pg_dumpall.
     </para>
    </step>
 
    <step performance="required">
     <para>
-     Use:
+     Do
      <programlisting>
 % pg_dumpall -s >db.out
      </programlisting>
-     to dump out your old  database definitions without any
-     data.  Stop the postmaster and all backends.
+     to dump out your old database's table definitions without any data.
     </para>
    </step>
 
    <step performance="required">
     <para>
-     Rename  (using mv) your old pgsql <filename>data/</filename> directory to
+     Stop the old postmaster and all backends.
+    </para>
+   </step>
+
+   <step performance="required">
+    <para>
+     Rename (using mv) your old pgsql <filename>data/</filename> directory to
      <filename>data.old/</filename>.
     </para>
    </step>
 
    <step performance="required">
     <para>
-     Do a
-     <command>make install</command> to install the new binaries.
+     Do
+     <programlisting>
+% make install
+     </programlisting>
+     to install the new binaries.
     </para>
    </step>
 
    <step performance="required">
     <para>
-     Run <application>initdb</application> to create a new template1 database containing the system
-     tables for the new release.
+     Run <application>initdb</application> to create a new template1 database
+     containing the system tables for the new release.
     </para>
    </step>
 
    <step performance="required">
     <para>
-     Start the new postmaster.
+     Start the new postmaster.  (Note: it is critical that no users connect
+     to the database until the upgrade is complete.  You may wish to start
+     the postmaster without -i and/or alter <filename>pg_hba.conf</filename>
+     temporarily.)
     </para>
    </step>
 
@@ -98,22 +109,36 @@ pg_upgrade [ -f <replaceable class="parameter">filename</replaceable> ] <replace
      <programlisting>
 % pg_upgrade -f db.out data.old
      </programlisting>
-     The  system  will do some checking to make sure everything
-     is properly configured, and will run your db.out script to create
-     all the  databases and  tables you had, but with no
-     data.  It will then move the  data  files  from <filename>data.old/</filename>
-     into  the  proper <filename>data/</filename> directory.
+     The program will do some checking to make sure everything is properly
+     configured, and will run your db.out script to recreate all the databases
+     and tables you had, but with no data.  It will then physically move the
+     data files containing non-system tables and indexes from
+     <filename>data.old/</filename> into the proper
+     <filename>data/</filename> subdirectories, replacing the empty data files
+     created during the db.out script.
+    </para>
+   </step>
+
+   <step performance="required">
+    <para>
+     <emphasis>Carefully</emphasis> examine the contents of the upgraded
+     database.  If you detect problems, you'll need to recover by restoring
+     from your full pg_dump backup.
     </para>
    </step>
 
    <step performance="required">
     <para>
-     <emphasis>Carefully</emphasis> examine the contents of the upgraded database.
+     The upgraded database will be in an un-vacuumed state.  You will probably
+     want to run a <command>VACUUM ANALYZE</command> before beginning
+     production work.
     </para>
    </step>
 
    <step performance="required">
     <para>
+     Restart the postmaster and/or restore your old
+     <filename>pg_hba.conf</filename> if needed to allow user logins.
      You can delete the <filename>data.old/</filename> directory when you
      are finished.
     </para>