diff options
Diffstat (limited to 'doc/src/sgml/runtime.sgml')
-rw-r--r-- | doc/src/sgml/runtime.sgml | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 1d91d92fe36..f3374857363 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1517,8 +1517,9 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput For <emphasis>major</> releases of <productname>PostgreSQL</>, the internal data storage format is subject to change, thus complicating upgrades. The traditional method for moving data to a new major version - is to dump and reload the database. Other methods are available, - as discussed below. + is to dump and reload the database, though this can be slow. A + faster method is <xref linkend="pgupgrade">. Replication methods are + also available, as discussed below. </para> <para> @@ -1593,12 +1594,14 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput </variablelist> - <sect2 id="upgrade-methods-pgdump"> - <title>Upgrading Data via <application>pg_dump</></title> + <sect2 id="upgrading-via-pgdumpall"> + <title>Upgrading Data via <application>pg_dumpall</></title> <para> - To dump data from one major version of <productname>PostgreSQL</> and - reload it in another, you must use <application>pg_dump</>; file system + One upgrade method is to dump data from one major version of + <productname>PostgreSQL</> and reload it in another — to do + this, you must use a <emphasis>logical</> backup tool like + <application>pg_dumpall</>; file system level backup methods will not work. (There are checks in place that prevent you from using a data directory with an incompatible version of <productname>PostgreSQL</productname>, so no great harm can be done by @@ -1607,7 +1610,8 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput <para> It is recommended that you use the <application>pg_dump</> and - <application>pg_dumpall</> programs from the newer version of + <application>pg_dumpall</> programs from the <emphasis>newer</> + version of <productname>PostgreSQL</>, to take advantage of enhancements that might have been made in these programs. Current releases of the dump programs can read data from any server version back to 7.0. @@ -1642,14 +1646,12 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput <screen> <userinput>pg_dumpall > <replaceable>outputfile</></userinput> </screen> - If you need to preserve OIDs (such as when using them as - foreign keys), then use the <option>-o</option> option when running - <application>pg_dumpall</>. </para> <para> To make the backup, you can use the <application>pg_dumpall</application> - command from the version you are currently running. For best + command from the version you are currently running; see <xref + linkend="backup-dump-all"> for more details. For best results, however, try to use the <application>pg_dumpall</application> command from <productname>PostgreSQL</productname> &version;, since this version contains bug fixes and improvements over older @@ -1683,7 +1685,8 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput <step> <para> If restoring from backup, rename or delete the old installation - directory. It is a good idea to rename the directory, rather than + directory if it is not version-specific. It is a good idea to + rename the directory, rather than delete it, in case you have trouble and need to revert to it. Keep in mind the directory might consume significant disk space. To rename the directory, use a command like this: @@ -1755,16 +1758,24 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 </sect2> - <sect2 id="upgrading-methods-other"> - <title>Non-Dump Upgrade Methods</title> + <sect2 id="upgrading-via-pg-upgrade"> + <title>Upgrading Data via <application>pg_upgrade</></title> <para> - The <link linkend="pgupgrade">pg_upgrade</link> module allows an - installation to be migrated in-place from one major - <productname>PostgreSQL</> version to the next. Upgrades can be - performed in minutes. + The <xref linkend="pgupgrade"> module allows an installation to + be migrated in-place from one major <productname>PostgreSQL</> + version to another. Upgrades can be performed in minutes, + particularly with <option>--link</> mode. It requires steps similar to + <application>pg_dumpall</> above, e.g. starting/stopping the server, + running <application>initdb</>. The <application>pg_upgrade</> <link + linkend="pgupgrade">documentation</> outlines the necessary steps. </para> + </sect2> + + <sect2 id="upgrading-via-replication"> + <title>Upgrading Data via Replication</title> + <para> It is also possible to use certain replication methods, such as <productname>Slony</>, to create a standby server with the updated version of |