Re: ModifyTable, EXPLAIN ANALYZE and AFTER triggers

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Marko Tiikkaja <marko(dot)tiikkaja(at)cs(dot)helsinki(dot)fi>
Cc: pgsql-docs(at)postgresql(dot)org
Subject: Re: ModifyTable, EXPLAIN ANALYZE and AFTER triggers
Date: 2011-03-02 15:29:53
Message-ID: 17240.1299079793@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

Marko Tiikkaja <marko(dot)tiikkaja(at)cs(dot)helsinki(dot)fi> writes:
> The recent commit 09b49a8439fde63826f93f55430868cf2585644b claims:

> + Time spent firing triggers, if any, is charged to the Insert,
> + Update, or Delete node, and is also shown separately for each trigger.
> + Note, however, that deferred triggers will not be fired until end of
> + transaction and are thus not accounted for in the output of
> + <command>EXPLAIN ANALYZE</command>.

> But that's only part of the truth; the ModifyTable nodes queue AFTER
> triggers, but don't actually fire them. I remember there was some
> discussion during 9.0's development about making the ModifyTable nodes
> also count the time spent firing AFTER triggers, but I don't remember
> what we decided back then. Meanwhile, I think this part in the
> documentation needs a small clarification.

Oh, you're right --- I was thinking that the fireASTriggers call would
actually execute the triggers, but of course it only queues them.
Will fix.

regards, tom lane

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Robert Haas 2011-03-02 16:35:16 Re: Change to kernel-resources
Previous Message Marko Tiikkaja 2011-03-02 11:05:57 ModifyTable, EXPLAIN ANALYZE and AFTER triggers