On 2/9/2007 2:27 PM, Richard Troy wrote:
> In general terms, "blending of replication [techniques]" means to me that
> one can have a single database instance serve as a master and as a slave
> (to use only one set of terminology), and as a multi-master, too, all
> simultaneously, letting the DBA / Architect choose which portions serve
> which roles (purposes). All replication features would respect the
> boundaries of such choices automatically, as it's all blended.
That is specifically what the changes to pg_trigger and pg_rewrite take
into account. However much you blend different techniques, a single
transaction on one server will always fall into one of three categories.
1) It could be the original operation done by the client application. B)
It could be the actions performed by the replication engine to replay a
remote transaction. And iii) it can be an administrative operation that
requires not to be propagated at all.
No matter how many different models you have in parallel, one single
transaction will be either a master, a slave or an isolated local thing.
The proposed changes allow to tell the session which of these three
roles it is playing and the triggers and rules can be configured to fire
during master/local role, slave role, always or never. That
functionality will work for master-slave as well as multi-master.
Although my current plan isn't creating such a blended system, the
proposed trigger and rule changes are designed to support exactly that
in a 100% backward compatible way.
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #