Geoffrey lists at serioustechnology.com
Thu Jun 5 13:58:48 PDT 2008
Andrew Sullivan wrote:
> On Fri, May 30, 2008 at 12:41:01PM -0400, Geoffrey wrote:
>> Are you saying that if we set the slony triggers to 'always fire', the 
>> will not fire if we 'disable all triggers?'
> 
> As far as I know, even the changes in 8.3 don't allow you to say, "Even if I
> tell you to do so later, don't stop firing this trigger."  You could just
> disable the _other_ triggers.

I have a better understanding as to how this whole process is supposed
to work, thus I want to present it here to make sure it will work.

We intend to execute the following on all slony triggers:

ALTER TABLE foo ENABLE ALWAYS TRIGGER bar;

Assuming this will cause the slony triggers to fire when we do the 
following to disable our triggers:

SET session_replication_role TO 'replica';


The reason we have to do this is because we have a distributed database 
system.  That is, we have multiple databases that have a mechanism that 
causes communications between these databases.

Short example.

User creates a record that must be distributed across all the databases. 
  There is a trigger that recognizes this occurence and therefore 
generates a record in another database that will be eventually 
distributed to the other databases.  There is a process that reads these 
records and then distributes them.  The problem is we need to make sure 
that when this process distributes them to the other databases, new 
records are not created to redistribute these records.

Granted, there's a flaw in that approach, and it's on the schedule to be 
fixed, but we've got to get the replication going first.

-- 
Until later, Geoffrey

Those who would give up essential Liberty, to purchase a little
temporary Safety, deserve neither Liberty nor Safety.
  - Benjamin Franklin



More information about the Slony1-general mailing list