[Pgpool-general] pgpool II : Streaming replication and recovering previous primary node

Tatsuo Ishii ishii at sraoss.co.jp
Mon Jan 31 09:20:11 UTC 2011


> I have 2 nodes running streaming replication managed by pgpool.
> let's assume that the current primary is backend0 and the standby is
> backend1.
> 
> When backend0 fails pgpool promotes backend1 to primary and all query's
> are directed to the new master running at backend1.
> When I try to recover backend0 it works and backend0 is running now as a
> standby node.
> 
> However I see that pgpool thinks backend0 is back up as master and will
> do update queries on backend0 which is in fact a standby...
> Therefore all updates are failing and we have to do manual actions.
> 
> Shoudn't pgpool-II keep the new master as the master from that point on?
> 
> ps: I'm running pgpool-II version 3.0.1 (umiyameboshi)

It's a known problem with 3.0.x. 3.1 will fix the problem. If you are
hurry, please grab CVS HEAD or get pgpool-3.1-alpha1 tar ball from:

http://pgpool.projects.postgresql.org/contrib_docs/simple_sr_setting/pgpool-II-3.1.0-alpha1.tar.gz

In the mean time, here is a workaround for 3.0.

After promoting backend1 to primary, edit pgpool.conf and add
backend_hostname2 etc., whose contents are identical to
backend0. Reload the pgpool.conf or restart pgpool and you will see
backend2 is offline. Now you could recover backend2.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


More information about the Pgpool-general mailing list