Това правя в PostgreSQL 9.2, въпреки че трябва да призная, че не намерих този подход документиран. Има функция pg_trigger_depth()
документирано тук, което използвам за разграничаване между оригинални и вложени извиквания в тригера.
CREATE TRIGGER trg_taxonomic_positions
AFTER INSERT OR UPDATE OF taxonomic_position
ON taxon_concepts
FOR EACH ROW
WHEN (pg_trigger_depth() = 0)
EXECUTE PROCEDURE trg_taxonomic_positions()