[pgsql-jp: 37771] Re: pgpoolデータベース不一致のとき

Yoshiyuki Asaba y-asaba @ sraoss.co.jp
2006年 12月 11日 (月) 18:28:33 JST


浅羽です。

From: TAKAO Kouji <kouji @ netlab.jp>
Subject: [pgsql-jp: 37770] Re: pgpoolデータベース不一致のとき
Date: Mon, 11 Dec 2006 18:00:53 +0900

> > > pgpoolをレプリケーションモードで且つ
> > > repliction_stop_on_mismatch=true
> > > の設定で使っています。
> > > データベースに不一致が見つかると自動的に縮退運転に入りますが、
> > > primaryとsecondaryとどちらが生き残るのかは何を基準に
> > > 決めているのでしょうか?
> > 
> > primary を落とします。どちらが生き残るかというのは pgpool から判断する
> > ことができないため決め打ちになっています。
> 
> secondary ではなく primary 決め打ちなのは理由が何かありますでしょうか。
> 個人的には、secondary を落とすものだろうと考えていたので、primary を落
> とすことが決め打ちになっているのは驚きました。
> 
> また、設定ファイルで落とすのがどちらなのかを指定できるとうれしいのです
> が、現在、設定ファイルで指定できるようになっていないのは、何か特別な理
> 由があったりするのでしょうか。

いえ、特に理由はない(はず)です。設定ファイルで指定できるのはいいアイデ
アだと思いますので検討したいと思います。とりあえず secondary を*決め打
ちで*落したい場合のパッチです。 


Index: child.c
===================================================================
RCS file: /cvsroot/pgpool/pgpool/child.c,v
retrieving revision 1.16
diff -c -r1.16 child.c
*** child.c	26 Jun 2006 08:25:17 -0000	1.16
--- child.c	11 Dec 2006 09:26:37 -0000
***************
*** 386,392 ****
  
  				/* fatal error occured. just exit myself... */
  				case POOL_FATAL:
! 					notice_backend_error(1);
  					exit(1);
  					break;
  
--- 386,392 ----
  
  				/* fatal error occured. just exit myself... */
  				case POOL_FATAL:
! 					notice_backend_error(0);
  					exit(1);
  					break;
  

--
Yoshiyuki Asaba
y-asaba @ sraoss.co.jp



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