Re: Behaviour of triggers on replicated and non replicated tables

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: "Luiz K(dot) Matsumura" <luiz(at)planit(dot)com(dot)br>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Behaviour of triggers on replicated and non replicated tables
Date: 2011-06-16 19:39:03
Message-ID: BANLkTinEwmsA7nK6Uet-fnpWg37VfA+6PA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

2011/6/10 Luiz K. Matsumura <luiz(at)planit(dot)com(dot)br>:
> I need help to know if the follow scenario is a expected behaviour, a bug of
> postgres or a bug of slony:
>
> Postgres v8.4.8
> Slony-I v 2.0.5
>
> I have table replicated with slony and that do some updates in another table
> not replicated.
>
> The trigger on replicated table was enabled on the slave database with the
> command:
>
> ALTER TABLE table1 ENABLE ALLWAYS TRIGGER trigger1;
>
> And this trigger is working fine as expected.
>
> The strange behaviour is that trigger do a update in another table not
> replicated, let´s say table2, and
> the triggers of this table is not fired.
> A unexpected behaviour IMHO, if I do
>
> ALTER TABLE table2 ENABLE ALWAYS TRIGGER trigger2;
>
> Then the trigger2 is fired now when trigger1 do a update in table2.
>
> My doubt is: since table2 is not replicated why they triggers dont fire even
> by a update command in
> a trigger of a replicated table ?

I'm confused. If you enable the trigger on table2, it's going to fire
when someone updates table2. Whether or not the update is coming from
another trigger or directly from the user has nothing to do with it.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Robert Haas 2011-06-16 19:40:32 Re: BUG #6054: Insert to table, which has fkey to table,which is parenttable for another table - error
Previous Message Josip Rodin 2011-06-16 13:05:37 Re: BUG #6020: Wrong data type returned after CAST in FROM