Tue Feb 2 15:11:52 PST 2010
- Previous message: [Slony1-general] drop node not working correctly
- Next message: [Slony1-general] new replication set not syncing after 4 hrs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Jan 25, 2010 at 09:39:51AM -0500, Andrew Sullivan wrote: > > Would this work or did I overlooked something? > > This is actually what Slony does. So it will work. But it still > locks everything, note. "Everything" as in "each object" or "the table in access exclusive" ? For what I understand (not so much actually), we have : "execute script" -> begin; -> ddlScript_prepare() for each replicated table: -> alterTableRestore(tab_id) -> lock table foo in in access exclusive mode -> ddls -> ddlScript_complete() for each replicated table: -> alterTableForReplication(tab_id) -> lock table foo in in access exclusive mode -> commit; So if I get things well alterTable* functions only locks one table (plus a select for update on sl_table) while "execute script" locks them all successively in a large transaction. I tested this by manually locking unrelated tables from the replication set on both master and subscribers, while running the previously mentioned scenario (with just a SHARE MODE lock for this transaction). The ugly, dangerous but selective manual alterTable* call seems a lesser "everything" than create script ;) > You need to do everything _last_ on the origin node because if it gets > the extra column at a logical point in transaction history time when > any of the replicas aren't ready for such a column, then that replica > will be broken. Ah, this makes sense. Thank you very much for this advice - I would have overlooked this ! > I encourage you very strongly to test everything out in a lab first, > several times, before you do any of this. Yeah, my curse is I have no very realistic "lab" offhand, a large and busy dataset which I'm not allowed to block, a replication setup we can't afford to rebuild in case of problem, and no choice but altering every other day as developers changes their schemas :(
- Previous message: [Slony1-general] drop node not working correctly
- Next message: [Slony1-general] new replication set not syncing after 4 hrs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list