"Jim C. Nasby" <decibel@xxxxxxxxxxx> 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