How to fire triggers just on "top" level DML

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: <pgsql-general(at)postgresql(dot)org>
Subject: How to fire triggers just on "top" level DML
Date: 2011-01-19 21:59:48
Message-ID: 4D370A74020000250003982C@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

We've been running for about ten years on a framework which fires
triggers similar to database triggers in a Java tier close to the
database, and we're now trying to convert these to actual PostgreSQL
database triggers. Our biggest hitch at the moment is that we
defined a class of triggers we called "top" triggers, which only
fire from DML submitted by the application, not from DML issued by
other triggers.

One significant use of this is to block direct modification of
summary data (either selected columns or entire tables) which are
supposed to be trigger maintained. It's not immediately obvious how
to accomplish this within PostgreSQL, although I'm probably missing
something. We're not tied to any particular methodology -- a
TG_DEPTH variable, if it existed, would do fine, for example.

Any suggestions?

-Kevin

Responses

Browse pgsql-general by date

  From Date Subject
Next Message akp geek 2011-01-19 22:07:46 ERROR: index row requires 9984 bytes, maximum size is 8191
Previous Message DM 2011-01-19 21:59:02 Re: How can I find the schema that a table belongs to?