[pgsql-jp: 39146] Re: pgpoolによりバックエンドのデータベースの異常を検知できないでしょうか。

高尾 宏治 kouji @ netlab.jp
2008年 2月 5日 (火) 14:48:35 JST


高尾です。

On 2008/02/01, at 14:54, Yoshiyuki Asaba wrote:

> From: 高尾 宏治 <kouji @ netlab.jp>
> Subject: [pgsql-jp: 39127] pgpoolによりバックエンドのデータベースの異常を検知できないでしょうか。
> Date: Thu, 31 Jan 2008 14:53:58 +0900
>
>> しかし、セカンダリのデータディレクトリが
>> アンマウントされるというような異常が発生したときは、
>> クエリのレスポンスからpgpoolが異常を検知し、
>> セカンダリを切り離すようにはできないものでしょうか。
>> pgpoolの設定などで実現できるのであれば、
>> ご教授いただけないでしょうか。
>> また、もし、現在のバージョンではそのようなことが設定できないのであれば、
>> 機能の追加をご検討いただけないでしょうか。
>
> 現時点では replication_stop_on_mismatch を false にしている場合は、縮
> 退運転に入りません。
>
>
> どうするのがよいかを検討してみましたが、max_connections オーバーなどの
> ような一時的なエラーの扱いなどを考えますと、申し訳ありませんがすぐに対
> 応するのは厳しいところです。

了解しました。

本当は、replication_stop_on_mismatch を true にしたいのですが、
複数のプロセスでSELECTとINSERTが入り乱れる場合に、不整合が発生し、
縮退運転に移行してしまうことが発生してしまい、それ以降は、
replication_stop_on_mismatch を false にして運用しています。

たぶん、アプリケーションの改修で異常が発生していないときに
不整合を発生させないようにもできると思うのですが、
技術不足で対応できておりません。

> ただ、pgpool ユーザからのリクエストには出
> 来るだけ応えたいとは思いますので、何か他のリクエストや改良案などござい
> ましたらお知らせください。

ありがとうございます。
今後とも、よろしくお願いします。

> まずは大垣さんからのご提案があったように、pgpool 外からの監視をしてみ
> てください。

了解です。
今回は、Heartbeatと一緒に使っているmonで主サーバから従側のPostgreSQLを監視する予定です。

 mon: http://mon.wiki.kernel.org/index.php/Main_Page

---
株式会社ネットワーク応用通信研究所 研究員 高尾 宏治
〒690-0826 島根県松江市学園南二丁目12番5号
          HOYOパークサイドビル・2F
TEL:0852-28-9280 FAX:0852-28-9281
URL:http://www.netlab.jp/
e-mail:kouji @ netlab.jp




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