summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-03-02 11:17:07 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2011-03-02 11:17:07 -0500
commita48fb0b59811e8b41e727b54b39bef28d6f253ea (patch)
treea47e8159fca91ab4cbbb2c28896abada018596d9
parent82a0e3522205266601966560b398b6ac42731567 (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 1c18274e89b..65d60200314 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>