Andrew Sullivan ajs
Thu Jan 4 14:16:10 PST 2007
On Thu, Jan 04, 2007 at 01:30:54PM -0800, Alan Hodgson wrote:
> > This might still be possible by futzing with the stored procedures
> > enabling replication, but that seems less like the quick win I was
> > hoping for.
> 
> I think you could just drop the slony-generated triggers on both the parent 
> and replica(s), and then do the copy, and then restore the triggers.  I'm 
> not positive what Slony records about the OID's of those triggers, though, 
> if anything.

Not just dropping them, but the following appears to work:

First, get the tab_id for your candidate table:

SELECT tab_id FROM _slonyschema.sl_table WHERE 
	tab_relname = '[yourtablename]' AND
	tab_nspname = '[yourtableschema];

Call it _n_.  Then you do this:

1.	On the origin, do

	SELECT _slonyschema.altertablerestore(_n_);

2.	Wait.  Make sure the events propogate everywhere.

3.	On _each server_, load the bulk load file in question.
	
4.	Check your work.  They're all identical, right?

5.	On the origin, do

	SELECT _slonyschema.altertableforreplication(_n_);

I haven't figured out where it's best to add the indexes yet --
before or after.  I suspect it makes no difference.

A

-- 
Andrew Sullivan  | ajs at crankycanuck.ca
The whole tendency of modern prose is away from concreteness.
		--George Orwell



More information about the Slony1-general mailing list