auto_explain: Add logging of trigger execution
authorAlvaro Herrera
Tue, 4 Mar 2014 18:31:18 +0000 (15:31 -0300)
committerAlvaro Herrera
Tue, 4 Mar 2014 18:31:18 +0000 (15:31 -0300)
Author: Kyotaro HORIGUCHI
Reviewed-by: Jaime Casanova
contrib/auto_explain/auto_explain.c
doc/src/sgml/auto-explain.sgml

index af684794a2205484f207089e459da87001e7b1ae..c8ca7c4a3403059a6d8c8cbd9b96059b14f26174 100644 (file)
@@ -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 */
index c9b81923b7203d7fc2603ae27f0e28ff721191eb..1037f1f2e22a404a7cab14b709ab967e0c40cb00 100644 (file)
@@ -122,6 +122,24 @@ LOAD 'auto_explain';
     
    
 
+   
+    
+     auto_explain.log_triggers (boolean)
+    
+    
+     auto_explain.log_triggers configuration parameter
+    
+    
+     
+      auto_explain.log_triggers 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
+      auto_explain.log_analyze parameter is set.
+     
+    
+   
+
    
     
      auto_explain.log_format (enum)