I'm trying to check what event called my trigger, like INSERT, UPDATE or DELETE.

Oracle triggers can check this in a simple 'IF' statement:


Is there a similar statement on PostgreSQL?

Usually I just create a function for INSERT, an other one for UPDATE and one more for DELETE, but it's a waste of code if there's some way to create just one function.

Can someone help?

  • 1
    "Can someone help?" - the manual contains this information. – a_horse_with_no_name Oct 27 '12 at 8:02
  • I don't think it's waste of code. Generally and even more in the case of complex trigger behaviour I feel safer to keep my triggers and corresponding procedures separated from each other. It makes debugging cleaner, for example. – dezso Oct 27 '12 at 9:15

Trigger functions can check the value of the TG_OP variable to determine the event which caused the trigger to fire. There are a number of other special variables as well listed in the documentation.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.