summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-03-02 11:17:03 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2011-03-02 11:17:03 -0500
commit7e49330cad885a76441253da74b88e7d2f27c9f0 (patch)
treeed74fba250e32b5b91916c8b88a6663988d7dcab
parent4c966d920fb75a5d0366b887c2ef28e6d87c1eda (diff)
Correct mistaken claims about EXPLAIN ANALYZE's handling of triggers.
Time spent executing AFTER triggers is not included in the runtime of the associated ModifyTable node; in my patch of yesterday I confused queuing of these triggers with their actual execution. Spotted by Marko Tiikkaja.
-rw-r--r--doc/src/sgml/perform.sgml11
1 files changed, 7 insertions, 4 deletions
diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml
index 72baad27f13..9d5b709aec5 100644
--- a/doc/src/sgml/perform.sgml
+++ b/doc/src/sgml/perform.sgml
@@ -436,10 +436,13 @@ WHERE t1.unique1 &lt; 100 AND t1.unique2 = t2.unique2;
applying the table changes is charged to a top-level Insert, Update,
or Delete plan node. (The plan nodes underneath this node represent
the work of locating the old rows and/or computing the new ones.)
- 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
+ Time spent executing <literal>BEFORE</> triggers, if any, is charged to
+ the related Insert, Update, or Delete node, although time spent executing
+ <literal>AFTER</> triggers is not. The time spent in each trigger
+ (either <literal>BEFORE</> or <literal>AFTER</>) is also shown separately
+ and is included in total runtime.
+ Note, however, that deferred constraint triggers will not be executed
+ until end of transaction and are thus not shown by
<command>EXPLAIN ANALYZE</command>.
</para>