Search Postgresql Archives

Re: execute trigger after another one

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2014-12-04 16:46 GMT-06:00 David G Johnston <david.g.johnston@xxxxxxxxx>:
> Carlos Carcamo wrote
>> I read about order of execution of triggers, is supposed that postgres
>> executes triggers in alphabetical order, so I called the plpgsql
>> a_trigger and the second one b_trigger (as an example), but it seems
>> that the second one always executes first.
>>
>> Is there any way to make triggers execute in a specific order?
>
> If two triggers would otherwise fire at the same time then alphabetical
> order is used to break ties.  But in all situations before triggers will
> always fire before after triggers.
>
> But since you haven't show us the exact CREATE TRIGGER statements you are
> using whether that is why yours are not behaving is impossible to tell.

sorry for that, here some code:

-- Trigger #1
CREATE OR REPLACE FUNCTION tgfn_kardex()
  RETURNS trigger AS
$BODY$
BEGIN
    IF (TG_OP = 'INSERT') THEN
      --logic here
    END IF;
     --more code
RETURN NULL;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE

-- then

CREATE TRIGGER tgfn_kardex
  AFTER INSERT OR UPDATE OR DELETE
  ON in_kardex
  FOR EACH ROW
  EXECUTE PROCEDURE tgfn_kardex();


-- Trigger #2
CREATE OR REPLACE FUNCTION update_remote()
  RETURNS trigger AS
$BODY$
import os
os.system('./var/www/update_remote.sh')
$BODY$
  LANGUAGE plpython3u VOLATILE

-- then

CREATE TRIGGER update_remote
  AFTER INSERT OR UPDATE OR DELETE
  ON in_kardex
  FOR EACH ROW
  EXECUTE PROCEDURE update_remote();

> Also, you say "it seems" - can you put forth specific proof that one is
> firing before the other?

Yes because my update_remote.sh file calls a php file to update a
table in mysql, and it is updated after I perform another query to
in_kardex, so the mysql table is one query behind postgres...

Any thoughts?

-- 
"El desarrollo no es material es un estado de conciencia mental"


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux