diff options
author | Alvaro Herrera | 2014-03-04 18:31:18 +0000 |
---|---|---|
committer | Alvaro Herrera | 2014-03-04 18:31:18 +0000 |
commit | e2a0fc5363e293d29053d0582a1009bc9fef0276 (patch) | |
tree | b7c9c0aedb2f0c1f931451e704a9eefd2d30ab52 | |
parent | 84df54b22e8035addc7108abd9ff6995e8c49264 (diff) |
auto_explain: Add logging of trigger execution
Author: Kyotaro HORIGUCHI
Reviewed-by: Jaime Casanova
-rw-r--r-- | contrib/auto_explain/auto_explain.c | 14 | ||||
-rw-r--r-- | doc/src/sgml/auto-explain.sgml | 18 |
2 files changed, 32 insertions, 0 deletions
diff --git a/contrib/auto_explain/auto_explain.c b/contrib/auto_explain/auto_explain.c index af684794a2..c8ca7c4a34 100644 --- a/contrib/auto_explain/auto_explain.c +++ b/contrib/auto_explain/auto_explain.c @@ -25,6 +25,7 @@ static int auto_explain_log_min_duration = -1; /* msec or -1 */ static bool auto_explain_log_analyze = false; static bool auto_explain_log_verbose = false; static bool auto_explain_log_buffers = false; +static bool auto_explain_log_triggers = false; static bool auto_explain_log_timing = false; static int auto_explain_log_format = EXPLAIN_FORMAT_TEXT; static bool auto_explain_log_nested_statements = false; @@ -113,6 +114,17 @@ _PG_init(void) NULL, NULL); + DefineCustomBoolVariable("auto_explain.log_triggers", + "Include trigger statistics in plans.", + "This has no effect unless log_analyze is also set.", + &auto_explain_log_triggers, + false, + PGC_SUSET, + 0, + NULL, + NULL, + NULL); + DefineCustomEnumVariable("auto_explain.log_format", "EXPLAIN format to be used for plan logging.", NULL, @@ -295,6 +307,8 @@ explain_ExecutorEnd(QueryDesc *queryDesc) ExplainBeginOutput(&es); ExplainQueryText(&es, queryDesc); ExplainPrintPlan(&es, queryDesc); + if (es.analyze && auto_explain_log_triggers) + ExplainPrintTriggers(&es, queryDesc); ExplainEndOutput(&es); /* Remove last line break */ diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml index c9b81923b7..1037f1f2e2 100644 --- a/doc/src/sgml/auto-explain.sgml +++ b/doc/src/sgml/auto-explain.sgml @@ -124,6 +124,24 @@ LOAD 'auto_explain'; <varlistentry> <term> + <varname>auto_explain.log_triggers</varname> (<type>boolean</type>) + </term> + <indexterm> + <primary><varname>auto_explain.log_triggers</> configuration parameter</primary> + </indexterm> + <listitem> + <para> + <varname>auto_explain.log_triggers</varname> causes trigger + execution statistics to be included when an execution plan is logged. + This parameter is off by default. Only superusers can change this + setting. This parameter has no effect unless + <varname>auto_explain.log_analyze</> parameter is set. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> <varname>auto_explain.log_format</varname> (<type>enum</type>) </term> <indexterm> |