[pgsql-jp: 33436] Re: pgpoolでsecondary

nishio @ aileck.co.jp nishio @ aileck.co.jp
2004年 6月 30日 (水) 18:05:56 JST


西尾です。

> げ,確かにそうなってしまうようです.とりあえずパッチを作りましたので,
> 試してみていただけませんか?
パッチあててみました。
backend_host_name = ''
secondary_backend_host_name = 'XXX.XXX.XXX.XXX'
で、マスタは、UNIXドメインソケット、セカンダリはTCPソケットで問題なく
接続されているようです。
対応、ありがとうございました。

それと、上記とは別件ですが、pgpool越しにデータを削除、更新を繰り返してると
以下のような状態が発生します。

・マスタ
table Alpha	
i  |j
---+--
1  |A
2  |B	
3  |C

table Alpha
i  |j
---+--
1  |A
3  |C
2  |B	

上記はSELECTしたときの表示順をイメージしています。
(データそのものに相違はないが、ディスク上での記録順が異なるよう)

この状態で、"SELECT * FROM Alpha"を行うと、

out of memory
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.

となり、処理がストップします。
で、このときのログを眺めていると、pgpoolでは、SELECTの抽出結果を1カラム毎に
チェックしいて、2カラム目で内容が異なるためABORTしているようでした。
そこで、"SELECT * FROM Alpha ORDER BY i"とするとエラーは発生しませんでした。

上記の様に、ディスク上のデータの並びがどうゆう理由で異なるのかは不明ですが、
copyコマンドで出力したものに差異はありませんでした。

ちなみに環境は、マスタ、セカンダリ共に
Solaris8、Postgres 7.5.3です。

pgpoolのバグという訳ではないようですが、一応ご報告までに。




pgsql-jp メーリングリストの案内