Christopher Browne cbbrowne at ca.afilias.info
Mon Jan 5 08:03:47 PST 2009
Geoffrey <lists at serioustechnology.com> writes:
> I've got a couple of questions regarding the use of EXECUTE SCRIPT.
>
> If I'm using the altperl scripts to maintain my replication and add a
> table to my database via 'execute script.'  I'm assuming I would add
> the necessary entries to my slon_tools.conf file after I've run the
> 'execute script' but before I have to restart any slon daemons.
>
> That is assuming that the slon_tools.conf file is only used when the
> slony is initialized and started.  Once it's up and replicating the
> slon_tools.conf file(s) are not referenced?

Hmm.  The scripts "slon_start" and "slon_stop" reference
slon_tools.conf; if you use those to manage the slon processes, then
*that* would be a pair of ongoing references.  

But that usage doesn't do *anything* about managing tables, so it
doesn't seem like an interesting exception.

> Another question.  I see the following in the documentation:
>
> "Each replicated table receives an exclusive lock, on the origin node,
> in order to remove the replication triggers; after the DDL script
> completes, those locks will be cleared."
>
> Is this saying that the slony triggers on replicated tables are, for
> some reason, removed?

Yes.  While running EXECUTE SCRIPT, the triggers are removed so that
the DDL runs "as if they were not there."

The process is thus:

 - At the start, the system runs ddlscript_prepare() (on the origin)
   or ddlscript_prepare_int() (on subscribers).  

   This removes the triggers.

 - Then, the statements that comprise the DDL script are executed, one
   by one.

 - Finally, the system runs ddlscript_complete_int() (on both
   origin and subscribers).

   This puts the triggers back.
-- 
output = ("cbbrowne" "@" "linuxdatabases.info")
http://www3.sympatico.ca/cbbrowne/linuxxian.html
Life's a duck, and then you sigh.


More information about the Slony1-general mailing list