>> ホーム
 
特徴
 
>> システム構成例
 
>> ダウンロード
 
>> インストール
 
>> 設定
 
>> RSYNCの設定
 
>> 起動・停止
 
>> DBの復旧・追加
 
>> 今後の予定
 

PGCluster-1.0 の特徴


PGCluster-1.0はPostgreSQL-7.3.xをベースにしたマルチマスタ方式の同期レプリケーションシステムです

ライセンス PostgreSQLと同じBSDライセンスです.
主な機能 負荷分散 マルチマスタの同期レプリケーションなので,どのクラスタサーバを参照しても同じ値を得ることができます.参照系の負荷分散に適しています.
更新系の負荷が高い場合,部分レプリケーション機能でDBを分散化できます.
障害対応 クラスタサーバは3台以上設定することができます.クラスタサーバに障害が発生した場合,ロードバランサとレプリケーションサーバから障害機を切り離し,他のクラスタサーバでサービスを継続します.
レプリケーションサーバは複数設定することができます.レプリケーションサーバに障害が発生した場合,クラスタサーバは接続を待機系のレプリケーションサーバに自動的に切り替えます.
レプリケーションサーバが全て止まった場合,クラスタサーバはスタンドアロンモードで動作します.スタンドアロンモードには参照のみ許可する(read only)モードと更新を許可する(read write)モードを選択できます.
ロードバランサは複数設置することができます.ただし,ロードバランサ自体の障害検知や切り替えの機能は持っていません.

DBの復旧
新規追加

クラスタサーバにリカバリーオプションを付けて起動すると,マスタDBとデータの同期をとった後,レプリケーションシステムに復帰します.クラスタサーバが3台以上あれば,リカバリー中もサービスを停止することなくクエリーを処理することができます.
レプリケーション クエリーベース レプリケーションはクエリーベースで行っています.
COPY COPY (FROM)コマンドによるデータの読み込みもレプリケーションします.これによりpg_dumpでとったバックアップファイルのリストアもレプリケーションできます.
NOW( ) クエリーにNOW関数が含まれている場合,テーブルのデフォルト値を'NOW'にしている場合など,NOW関数によって現在時刻データを書き込む場合,現在時刻の値もレプリケーションします.レプリケーションされる現在時刻はレプリケーションサーバの時刻です.
NEXTVAL( )
SETVAL( )
シーケンス操作関数(nextval,setval)をレプリケーションします.
シリアル型 INSERT処理の順を,各クラスタサーバで同じになるように制御していますので,シリアル型のデータも同期がとられます.
ストアドプロシジャ データ更新を伴うストアドプロシジャについてはレプリケーションします.

制限事項

PGClusterはクエリーベースのレプリケーションを行っており,以下の制限があります

(1)レコードのOIDは各クラスタDBの内部で自動的にそれぞれ固有の値がセットされます.したがってクラスタDBサーバ間でOIDの整合性は保障できません.

(2)ラージオブジェクトのレプリケーションはできません.