ここからはPostgresForestとして動作させるための設定と、サンプルのテーブルなどを作成していきます。今回作成するテーブルの構成は次のようなものを想定しています。

図1:テーブルの論理構成

図2:テーブルの物理配置
マスタ系のテーブルである顧客情報と商品情報テーブルをレプリケーションテーブルとし、件数増加が見込まれる受注情報と受注明細情報テーブルは、レスポンス向上のためにパーティションテーブルとしています。ただし、これらは完全に冗長なテーブル構成としていますので、レプリケーションテーブルの特性も持っています。
それでは実際の作業に入っていきましょう。まず2つのPostgreSQLサーバを起動します。以降それぞれのPostgreSQLサーバのログを参照することがあるため、3つのターミナルウィンドウを用意した上で作業することをお勧めします。
1つめのターミナルウィンドウで以下のコマンドを入力し、PostgreSQLサーバを立ち上げます。以降、このPostgreSQLサーバにアクセスがあると、1つめのターミナルウィンドウ上にログが表示されます。
[postgres@localhost ~]$ /home/postgres/forestbin/402_1/bin/forest_ctl -w start -o "--log_statement='all'"
同様に2つめのターミナルウィンドウ上で、もう一方のPostgreSQLサーバを起動します。
[postgres@localhost ~]$ /home/postgres/forestbin/402_2/bin/forest_ctl -w start -o "--log_statement='all'"
これ以降の作業は3つめのターミナルウィンドウで行います。まず、PostgresForestの管理ツールであるforestadmによって、PostgresForestが使用するGSCのデータベースを作成します。
[postgres@localhost ~]$ /home/postgres/forestbin/402_1/bin/forestadm -U postgres -W postgres -h localhost -p 5432 -g gsc -i
Welcome to PostgresForest Command Line Tool.
Connecting to Database GSC = localhost:5432/gsc
NOTICE: GSC "gsc" を作成しました。
続いてGSCに対して各種操作を行います。forestadmは、GSCを作成する時以外は対話的にSQLを処理しますが、今回は紙面の都合上ファイルにまとめたSQLを一括実行します。説明は省略しますが、ファイルにまとめたSQLではPostgreSQLサーバの登録やGSCの冗長化、テーブルの作成を行っています。
ここで使用する「forestadm_sample.sql」というファイルは以下のURLからダウンロードできます。なお、IPやポート番号が異なっている場合は、適宜書き換えて使用してください。
[postgres@localhost ~]$ /home/postgres/forestbin/402_1/bin/forestadm -U postgres -W postgres -h localhost -p 5432 -g gsc < forestadm_sample.sql
Welcome to PostgresForest Command Line Tool.
Connecting to Database GSC = localhost:5432/gsc
[gsc]$ NOTICE: サーバ "localhost:5433" を登録しました。
(中略)
[sample]> Now closing the connection
これでPostgresForestとして先ほど説明したテーブルを作成し、アプリケーションから使用する準備が整いました。
|