PostgreSQL Plus 管理者ガイド
目次 索引 前ページ次ページトップページ

第2章 PostgreSQL Plusの運用までの流れ

2.3 PostgreSQLからの移行

ここでは、PostgreSQLからPostgreSQL Plusへ移する場合の手順について説明します。

PostgreSQLからPostgreSQL Plusへの移行は、従来のPostgreSQLのバージョンアップと同様の手順で行います。

代表的な手順を以下に示します。

  1. バックアップ

    PostgreSQLで、PostgreSQLのデータベース資源をバックアップします。

    $ pg_dumpall > backupfile

  2. インストール

    PostgreSQL Plusをインストールします。詳細は、PostgreSQL Plusの“README”を参照してください。

  3. データベースの定義

    PostgreSQL Plus Administratorを利用して、データベースを定義します。

    データベースの定義方法の詳細については、“2.1.6 データベースの定義”を参照してください。

  4. リストア

    1.でバックアップしたデータベース資源を、PostgreSQL Plusでリストアします。

    なお、3.でデータベースを定義するため、リストアが行うデータベースの定義が失敗しますが(注)、リストアは継続するので問題はありません。
    注)以下のエラーメッセージが出力されます。

        ERROR:  CREATE DATABASE: database "database name" already exists
    $ psql -f backupfile template1

移行するデータ量が多い場合は、高速コピー機能を利用してリストアしてください。高速コピー機能を利用してリストアするためには、以下のようにします。

  • バックアップをpg_dumpallコマンドでスクリプトファイルに出力し、かつ、そのスクリプトファイルの編集が容易な場合

    スクリプトファイルに記載されているすべての\connectメタコマンドの直後に、ENABLE_DIRECT_COPYパラメタをONにするsetコマンドの記述を追加します。

    ■スクリプトファイルの記述例
    \connect user_db1
    set ENABLE_DIRECT_COPY = ON ;(←追加)
       :
    \connect user_db2
    set ENABLE_DIRECT_COPY = ON ;(←追加)

  • バックアップをpg_dumpコマンドで作成しているか、または、pg_dumpallコマンドでスクリプトファイルに出力しているがそのスクリプトファイルの編集が困難な場合

    インスタンスを格納するディレクトリにあるpostgresql.confファイルに、ENABLE_DIRECT_COPYパラメタをONにする記述を追加し、インスタンスの再起動後にリストアを行います。
    移行完了後は、postgresql.confファイルに追加したENABLE_DIRECT_COPYパラメタの記述を削除してインスタンスを再起動します。

高速コピー機能、およびENABLE_DIRECT_COPYパラメタの詳細については、“2.1.8 データのロード”を参照してください。


目次 索引 前ページ次ページトップページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006