<!--
$Header: /usr/prj/pg/cvsroot/doc/doc/src/sgml/ref/pg_upgrade.sgml,v 1.3 2001/07/11 06:49:43 k-kondo Exp $
Postgres documentation
-->

<refentry id="APP-PG-UPGRADE">
 <refmeta>
  <refentrytitle id="APP-PG-UPGRADE-TITLE">
   <application>pg_upgrade</application>
  </refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo>Application</refmiscinfo>
 </refmeta>
 <refnamediv>
  <refname>
   <application>pg_upgrade</application>
  </refname>
  <refpurpose>
   <!--Allows upgrade from a previous release without reloading data-->
   データのリロードを行わずに、以前のリリースからアップグレードします。
  </refpurpose>
 </refnamediv>
 <refsynopsisdiv>
  <refsynopsisdivinfo>
   <date>1999-07-31</date>
  </refsynopsisdivinfo>
<synopsis>
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>1999-07-31</date>
  </refsect1info>
  <title>
   <!--Description-->説明
  </title>

  <para>
   <!--<application>pg_upgrade</application>
   is a utility for upgrading from a previous
   Postgres release without reloading all the data.
   Not all <productname>Postgres</productname> release transitions can be
   handled this way.  Check the release notes for details on your installation.-->

   <application>pg_upgrade</application>は全データのリロードを行わずに以前の
   リリースのPostgresからのアップグレードを行うユーティリティです。
   全ての<productname>Postgres</productname>リリースにおいて、この方法を
   使って移行ができるわけではありません。詳細はインストールに使用した
   配布物にあるリリースノートを参照してください。

  </para>

  <procedure>
   <!--<title>Upgrading <productname>Postgres</productname> with pg_upgrade</title>-->
   <title>pg_upgradeによる<productname>Postgres</productname>のアップグレード</title>

   <step performance="required">
    <para>
     <!--Back up your existing data directory, preferably by making a
     complete dump with pg_dumpall.-->

     なるべく、pg_dumpallを使用して完全なダンプの作成を行って、
     既存のデータディレクトリをバックアップしてください。

    </para>
   </step>

   <step performance="required">
    <para>
     <!--Then do:-->
     次に下記のコマンドを実行し、データ自体を除いた古いバージョンの
     データベース定義部分をダンプしてください。

<programlisting>
$ pg_dumpall -s >db.out
</programlisting>
     <!--to dump out your old database's table definitions without any data.-->
    </para>
   </step>

   <step performance="required">
    <para>
     <!--Stop the old postmaster and all backends.-->
     古いバージョンのpostmasterとバックエンド全てを停止してください。
    </para>
   </step>

   <step performance="required">
    <para>
     <!--Rename (using mv) your old pgsql <filename>data/</filename> directory to
     <filename>data.old/</filename>.-->

     (mvを使って)pgsql以下の古い<filename>data/</filename>ディレクトリを
     <filename>data.old/</filename>という名前に変更してください。

    </para>
   </step>

   <step performance="required">
    <para>
     <!--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.-->

    <application>initdb</application>を実行して、新しいリリース用の
    システムテーブルを含むtemplate1データベースを作成してください。

    </para>
   </step>

   <step performance="required">
    <para>
     <!--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.)-->

     新しいpostmasterを起動してください（必ずアップグレードが完了するまで、
     このデータベースにユーザーが接続しないようにしてください。-iオプションを
     付けずに起動する、別の<filename>pg_hba.conf</filename>を一時的に使用する、
     もしくは、両方を行うなどして、postmasterを起動する方がよいでしょう）。

    </para>
   </step>

   <step performance="required">
    <para>
     <!--Change your working directory to the 
     pgsql main directory, and type:-->

     作業ディレクトリをpgsqlメインディレクトリに変更し、
     下記を実行してください。

<programlisting>
$ pg_upgrade -f db.out data.old
</programlisting>

     <!--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.-->

     このプログラムは全てが適切に設定されているかどうかについての点検を行い、
     そして、db.outスクリプトを実行して古いリリースで作成していた
     データベースとテーブルを作成します。その時、データ自体はありません。
     その後、このプログラムは、<filename>data.old/</filename>から
     適切な <filename>data/</filename>サブディレクトリへ、システムテーブル以外と
     インデックスを持つデータファイルを物理的に移動し、db.outスクリプトによって
     生成された空のデータファイルを置き換えます。

    </para>
   </step>

   <step performance="required">
    <para>
     <!--Restore your old <filename>pg_hba.conf</filename> if needed to allow
     user logins.-->

     必要ならば、ユーザがログインできるように、古い 
     <filename>pg_hba.conf</filename>に戻します。

    </para>
   </step>

   <step performance="required">
    <para>
     <!--Stop and restart the postmaster.-->
     postmasterを停止し、再起動します。
    </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.
     You can delete the <filename>data.old/</filename> directory when you
     are satisfied.-->

    アップグレードされたデータベースの内容を<emphasis>注意深く</emphasis>
    確認してください。問題を発見した場合、pg_dumpによる完全なバックアップから
    戻すという方法で復旧する必要があります。問題がなければ、
    <filename>data.old/</filename>ディレクトリを削除することができます。

    </para>
   </step>

   <step performance="required">
    <para>
     <!--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.-->

     アップグレードされたデータベースはゴミ掃除されていない状態に
     なっています。実運用状態として実行する前に、<command>VACUUM ANALYZE</command> 
     を実行した方がよいでしょう。

    </para>
   </step>

  </procedure>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->
