[pgsql-jp: 37537] Re: pool_check_fdで縮退運転

Yoshiyuki Asaba y-asaba @ sraoss.co.jp
2006年 9月 12日 (火) 18:35:39 JST


浅羽です。

From: maeda @ motion.ne.jp
Subject: [pgsql-jp: 37536] Re: pool_check_fdで縮退運転
Date: Tue, 12 Sep 2006 17:39:09 +0900

> エラーは3)で発生するのですが、必ず発生するわけではありません。
> 
> Warning: pg_copy_from(): endcopy failed: ERROR:  kind mismatch between backends

なるほど、COPY FROM STDIN で失敗しているようです。COPY の場合は
replication_strict を無視していたようです。以下のパッチでいかがでしょ
うか?

---- ここから ----
Index: pool_process_query.c
===================================================================
RCS file: /cvsroot/pgpool/pgpool/pool_process_query.c,v
retrieving revision 1.30
diff -c -r1.30 pool_process_query.c
*** pool_process_query.c	30 Aug 2006 01:11:48 -0000	1.30
--- pool_process_query.c	12 Sep 2006 09:23:20 -0000
***************
*** 1571,1578 ****
--- 1571,1592 ----
  			return POOL_END;
  		if (REPLICATION)
  		{
+ 			if (pool_config.replication_strict)
+ 			{
+ 				pool_debug("waiting for master completing the copy");
+ 				if (synchronize(MASTER(backend)))
+ 					return POOL_END;
+ 			}
+ 
  			if (pool_flush(SECONDARY(backend)) <0)
  				return POOL_END;
+ 
+ 			if (pool_config.replication_strict)
+ 			{
+ 				pool_debug("waiting for secondary completing the copy");
+ 				if (synchronize(SECONDARY(backend)))
+ 					return POOL_END;
+ 			}
  		}
  	}
  	else

---- ここまで ----

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



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