On Sat, Jun 02, 2007 at 12:23:44AM +0200, Alexander Staubo wrote: > Could you not (I ask naively) detect the first DDL statement is > submitted in a transaction Maybe. > on the master, then start a transaction on > each slave, then funnel this and all subsequent statements > synchronously to every nodes, then prepare and commit everyone? You could if 2PC was ubiquitous, which is certainly wasn't when the code was designed (remember, it was originally compatible all the way back to 7.3). Some people suggested using 2PC "if it's there", but that just seems to me to be asking for really painful problems. It also entails that all DDL has to happen on every node at the same time, which imposes a bottleneck not actually currently in the system. It is probably the case, however, that version 2 of the system will break some of these backwards compatibility attempts in order to depend on some new back end features -- putting this entirely in user space turns out to be awful. It's how we got the monstrous catalog corruption hack. This is getting pretty Slony specific, though, so if we're to continue this thread, I suggest we do it on the Slony list. A -- Andrew Sullivan | ajs@xxxxxxxxxxxxxxx "The year's penultimate month" is not in truth a good way of saying November. --H.W. Fowler