[Pgpool-general] What level of difference is checked in replication?
Yoshiyuki Asaba
y-asaba at sraoss.co.jp
Wed Feb 27 12:47:43 UTC 2008
Hi,
From: "A P" <afpalsson at gmail.com>
Subject: [Pgpool-general] What level of difference is checked in replication?
Date: Wed, 27 Feb 2008 09:13:53 +0100
> A few days ago I was looking around for a tool to keep 2
> postgresql-servers contain the same data so I found PGPool-II. It was
> ridiculously easy to set up by just setting a few parameters.
> Now my databases seem to be nicely synchronized. Excellent tool! :)
Thanks! :)
> Is it true that PGPool-II will only detect mismatches on number of
> tables/rows and not row-data?
>
> I manually added a new row in the second database but not in the first.
> Querying via pgpool didn't give any indication that there was data mismatch?
You can check mismatches to execute the following query.
/*REPLICATION*/ SELECT ...
The above query is replicated and pgpool checks the number of rows.
However, I don't recommend to use /*REPLICATION*/ hint for checking.
Because it may cause a performance issue and data misdetection.
> Is the 'replication_stop_on_mismatch'-setting broken?
If a result of a query is different, pgpool stop replication with
replication_stop_on_mismatch.
% psql -p 9999 -c 'CREATE TABLE t (a int PRIMARY KEY)' replication
% psql -p 5432 -c 'INSERT INTO t VALUES(1)' replication
% psql -p 9999 -c 'INSERT INTO t VALUES(1)' replication
Master returns "duplicate key" error and secondary does not return
error. In this case, pgpool detaches secondary node.
Regards,
--
Yoshiyuki Asaba
y-asaba at sraoss.co.jp
More information about the Pgpool-general
mailing list