[pgpool-general-jp: 326] Re: 答えが変わる
Tatsuo Ishii
ishii @ sraoss.co.jp
2007年 12月 25日 (火) 16:37:30 JST
石井です。
> 陶山です。
>
> pgpool を思いどうりに動作させられなくて四苦八苦です。
>
> いろいろ問題はあるのですが、そのひとつ。
>
> ◆テスト条件
>
> postgresql は、2台(main とsub)で稼動。
> pgpool は、そのうちの1台 main で稼動。レプリケーションモード
> bench_replication DBを作成し、pgpool 経由でbranches 表にデータを
> 1行挿入。
> そのあと、pgpool を通さずに main で、main 内の bench_replication の
> branches 表だけにさらに1行追加。
> その結果、 main では、3行。sub では2行(この2行は main と一致)。
>
>
> ◆テスト実施
>
> sub から psql -h main -p mport bench_replication で接続し、
> SELECT * FROM branches; では2行しか見えない。このとき main で同じ
> ように psql -p mport bench_replication で接続してみると、同じように
> 2行しか見えない。
>
> ともに一旦psql を終了し、今度は main で同じ事をやるとなぜか今度は
> 3行見える。それでそのまま subでも同じ事をやってみると今度は3行見え
> る。
>
>
> ◆問題
"mport"っていうのが何を指すのかよく分かりませんが,pgpoolのポートを指
していると仮定します。
> なぜ、2行しか見えなかったり、3行見えたりするのかわかりません。
> (データを信頼できなくなりますね。)
ロードバランスがオンになっているからでしょう。
> そして、main と sub でDBに食い違いがあるにもかかわらず、表にはエラー
> が出てきません。
psql -h main -p mport bench_replication して,
BEGIN;
SELECT * FROM branches;
とすれば,ロードバランスしないので,エラーを検出するはずです。
--
Tatsuo Ishii
SRA OSS, Inc. Japan
pgpool-general-jp メーリングリストの案内