[Pgpool-general] Mismatch on replication mode

Tatsuo Ishii ishii at sraoss.co.jp
Wed Mar 1 11:23:42 GMT 2006


> Hello,
> 
> I'm using the 2.7.2 pgpool version in replication mode.
> 
> pgpool.conf:
> # if there's a data mismatch between master and secondary
> # start degenration to stop replication mode
> replication_stop_on_mismatch = true
> 
> What does "mismatch" mean? What can cause a mismatch for pgpool?
> My problem is that pgpool only stops replication mode if a server is
> down. I tried to delete some fields only on a database and pgpool
> doesn't care: it goes on sending requests to both servers.
> 
> Thanks for any help!

pgpool detects "packet kind" differences among servers. For example,
SELECT returns packets and each packet indicates correponding row. At
the end of SELECT command, backend sends "Command Complete" packet. If
for some reason the number of result rows from servers are different,
a server receives "Command Complete" packet while the other is
receiving data row packets. Thus pgpool will detect the packet kind
difference and throws an error.

Another case would be that a server returns rows while the other
returns error packet.
--
Tatsuo Ishii
SRA OSS, Inc. Japan


More information about the Pgpool-general mailing list