[Bucardo-general] Automatic Cascading Replication

David E. Wheeler david at justatheory.com
Wed Dec 19 17:20:33 UTC 2012


On Dec 19, 2012, at 7:48 AM, Greg Sabino Mullane <greg at endpoint.com> wrote:

> Frobishers (let's call it C, ok? :) will not be up to date if A goes down, 
> if the second sync is:
> 
> table=customers dbs=A:source B:source C:target
> 
> Bucardo cannot push out to C unless A and B are both available. What you 
> would need is three syncs:
> 
> 1) MM between lots of tables A:source B:source
> 2) One-way customer table only A:source C:target
> 3) One-way customer table only B:source C:target
> 
> And of course customer table should have makedelta:A,B

Oh. So everything will be replicated to C twice? Ick.

> Well, even if one were to do this (and I am not convinced), we would 
> need to use seomthing other than session_replication_role. Because 
> setting it to "local" means that all *other* rules and triggers 
> would fire, something definitely not wanted.

Excellent point. I should have thought of that.

>>> Yeah, but that still means firing that trigger for every single row 
>>> on the bulk insert. Not so bulky anymore. :)
>> 
>> I don’t know what the actual overhead on that is, do you? I mean, 
>> compared to the I/O required when a COPY happens, is it significant?
> 
> I don't know the numbers, no.

Might be worth some benchmarking.

Best,

David




More information about the Bucardo-general mailing list