SV: Slony and triggers on slavenodes.

From: Gustavsson Mikael <mikael(dot)gustavsson(at)smhi(dot)se>
To: Achilleas Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>, "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: SV: Slony and triggers on slavenodes.
Date: 2019-02-18 12:35:44
Message-ID: 89DE7C43D727C04CA77C8B7AB82533CD022B479C31@WINVMSERV464.ad.smhi.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I checked in pgAdmin and that turned out to be the problem. If i check with \d <table_name> the trigger is listed under "Triggers firing always:". And it fires as expected. I was misled by the UI. So it seems like it is a UI problem rather than in postgresql.
Thanks for your time.

KR /Mikael
________________________________
Från: Achilleas Mantzios [achill(at)matrix(dot)gatewaynet(dot)com]
Skickat: den 18 februari 2019 12:31
Till: pgsql-general(at)lists(dot)postgresql(dot)org
Ämne: Re: Slony and triggers on slavenodes.

On 18/2/19 1:09 μ.μ., Gustavsson Mikael wrote:
Hi,

I have a Postgresql 11 and Slony 2.2.7 setup with one master and multiple slave nodes. On one of the slaves I want a user defined trigger to fire on insert. The trigger fires a notify function.

Now to the problem.

If I create the trigger it looks like it is enabled on the slave but it do not fire.

CREATE TRIGGER <trigger_name>
AFTER INSERT
ON <table_name>
FOR EACH ROW
EXECUTE PROCEDURE <function_name>;

If i try to enable it explicit with

ALTER TABLE <table_name>
ENABLE ALWAYS TRIGGER <trigger_name>;

or

ALTER TABLE <table_name>
ENABLE REPLICA TRIGGER <trigger_name>;

and then look at the table definition the trigger is disabled.

How? can you show the output of \d ? or pg_dump -x --schema-only -t <table_name> ?

Is this expected behavior in slony?
I understand that this may be tricky in replication context and that the default behavior is that triggers on slaves are disabled.

We have plans to move to logical replication which should solve this I assume, but it does not fit the schedule at the moment.

KR
Mikael Gustavsson

--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Arthur Zakirov 2019-02-18 13:49:17 Re: Cannot vacuum even in single-user mode after xidStopLimit is reached
Previous Message Jitendra Loyal 2019-02-18 12:11:35 Statement-level trigger results in recursion