CREATE [ OR REPLACE ] CONSTRAINT TRIGGER $name$ AFTER { $event$ [ OR ... ] } ON $table_name$ FROM $referenced_table_name$ [ NOT DEFERRABLE | [ DEFERRABLE ] [ INITIALLY IMMEDIATE | INITIALLY DEFERRED ] ] FOR EACH ROW [ WHEN ( $condition$ ) ] EXECUTE { FUNCTION | PROCEDURE } $function_name$ ( $arguments$ ) CREATE [ OR REPLACE ] TRIGGER $name$ BEFORE { $event$ [ OR ... ] } ON $table_name$ [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( $condition$ ) ] EXECUTE { FUNCTION | PROCEDURE } $function_name$ ( $arguments$ ) CREATE [ OR REPLACE ] TRIGGER $name$ AFTER { $event$ [ OR ... ] } ON $table_name$ [ REFERENCING { { OLD | NEW } TABLE [ AS ] $transition_relation_name$ } [ ... ] ] [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( $condition$ ) ] EXECUTE { FUNCTION | PROCEDURE } $function_name$ ( $arguments$ ) CREATE [ OR REPLACE ] TRIGGER $name$ INSTEAD OF { $event$ [ OR ... ] } ON $table_name$ [ FOR [ EACH ] { ROW | STATEMENT } ] EXECUTE { FUNCTION | PROCEDURE } $function_name$ ( $arguments$ ) where $event$ is: INSERT | UPDATE [ OF $column_name$ [ , ... ] ] | DELETE | TRUNCATE