Re: Trigger information for auto_explain. - Mailing list pgsql-hackers
From | Kyotaro HORIGUCHI |
---|---|
Subject | Re: Trigger information for auto_explain. |
Date | |
Msg-id | 20140122.172827.04904943.horiguchi.kyotaro@lab.ntt.co.jp Whole thread Raw |
In response to | Re: Trigger information for auto_explain. (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>) |
Responses |
Re: Trigger information for auto_explain.
|
List | pgsql-hackers |
Hello, I came back with doc patch and revised 0002 patch. > > > I think documentation is the only thing that stops this patch to be > > > commitable... can you add it? > > > > Agreed. I have pushed patch 0001 for now. > > Thank you, I'll put it sooner. I found the default setting for log_triggers was true in the last patch while writing doc but it's better be false ragarding backward compatibility. The 0002 patch attached has been changed there. - 0002_auto_explain_triggers_v2_20140122.patch default value for log_triggers from 'true' to 'false'. As added documents says. - 0003_auto_explain_triggers_doc_v1_20140122.patch documentation. regards, -- Kyotaro Horiguchi NTT Open Source Software Center diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml index c9b8192..53f38cb 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 additional trigger + statistics output to be printed 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> diff --git a/contrib/auto_explain/auto_explain.c b/contrib/auto_explain/auto_explain.c index af68479..2354327 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", + "Collect trigger stats, avaialble when log_analyze.", + NULL, + &auto_explain_log_triggers, + false, + PGC_SUSET, + 0, + NULL, + NULL, + NULL); + DefineCustomEnumVariable("auto_explain.log_format", "EXPLAIN format to be used for planlogging.", 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*/
pgsql-hackers by date: