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

_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general

Reply via email to