"Jim C. Nasby" <decibel@decibel.org> writes:
> Hmm... it would be pretty handy if there was a way to make triggers show
> up in explain somehow, maybe as a pseudo query node.
Been there, done that ...
2005-03-25 16:57 tgl
* doc/src/sgml/perform.sgml, src/backend/catalog/pg_constraint.c,
src/backend/commands/copy.c, src/backend/commands/explain.c,
src/backend/commands/portalcmds.c, src/backend/commands/trigger.c,
src/backend/executor/execMain.c,
src/backend/executor/execProcnode.c,
src/backend/executor/functions.c,
src/backend/executor/instrument.c, src/backend/executor/spi.c,
src/backend/tcop/pquery.c, src/include/catalog/pg_constraint.h,
src/include/commands/trigger.h, src/include/executor/instrument.h,
src/include/nodes/execnodes.h: Improve EXPLAIN ANALYZE to show the
time spent in each trigger when executing a statement that fires
triggers. Formerly this time was included in "Total runtime" but
not otherwise accounted for. As a side benefit, we avoid
re-opening relations when firing non-deferred AFTER triggers,
because the trigger code can re-use the main executor's
ResultRelInfo data structure.
It's too big a change to consider back-patching into 8.0, unfortunately.
regards, tom lane