disable_pgss_planning_default_v1.patch

text/plain

Filename: disable_pgss_planning_default_v1.patch
Type: text/plain
Part: 0
Message: Re: track_planning causing performance regression

Patch

Format: unified
Series: patch v1
File+
contrib/pg_stat_statements/expected/pg_stat_statements.out 1 0
contrib/pg_stat_statements/pg_stat_statements.c 1 1
contrib/pg_stat_statements/sql/pg_stat_statements.sql 1 0
doc/src/sgml/pgstatstatements.sgml 15 2
diff --git a/contrib/pg_stat_statements/expected/pg_stat_statements.out b/contrib/pg_stat_statements/expected/pg_stat_statements.out
index f615f8c2bf..c3f013860a 100644
--- a/contrib/pg_stat_statements/expected/pg_stat_statements.out
+++ b/contrib/pg_stat_statements/expected/pg_stat_statements.out
@@ -3,6 +3,7 @@ CREATE EXTENSION pg_stat_statements;
 -- simple and compound statements
 --
 SET pg_stat_statements.track_utility = FALSE;
+SET pg_stat_statements.track_planning = TRUE;
 SELECT pg_stat_statements_reset();
  pg_stat_statements_reset 
 --------------------------
diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c
index cef8bb5a49..65ac301b99 100644
--- a/contrib/pg_stat_statements/pg_stat_statements.c
+++ b/contrib/pg_stat_statements/pg_stat_statements.c
@@ -442,7 +442,7 @@ _PG_init(void)
 							 "Selects whether planning duration is tracked by pg_stat_statements.",
 							 NULL,
 							 &pgss_track_planning,
-							 true,
+							 false,
 							 PGC_SUSET,
 							 0,
 							 NULL,
diff --git a/contrib/pg_stat_statements/sql/pg_stat_statements.sql b/contrib/pg_stat_statements/sql/pg_stat_statements.sql
index 75c10554a8..6ed8e38028 100644
--- a/contrib/pg_stat_statements/sql/pg_stat_statements.sql
+++ b/contrib/pg_stat_statements/sql/pg_stat_statements.sql
@@ -4,6 +4,7 @@ CREATE EXTENSION pg_stat_statements;
 -- simple and compound statements
 --
 SET pg_stat_statements.track_utility = FALSE;
+SET pg_stat_statements.track_planning = TRUE;
 SELECT pg_stat_statements_reset();
 
 SELECT 1 AS "int";
diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml
index a13e28a84c..430d8bf07c 100644
--- a/doc/src/sgml/pgstatstatements.sgml
+++ b/doc/src/sgml/pgstatstatements.sgml
@@ -101,6 +101,8 @@
       </para>
       <para>
        Number of times the statement was planned
+       (if <varname>pg_stat_statements.track_planning</varname> is enabled,
+       otherwise zero)
       </para></entry>
      </row>
 
@@ -110,6 +112,8 @@
       </para>
       <para>
        Total time spent planning the statement, in milliseconds
+       (if <varname>pg_stat_statements.track_planning</varname> is enabled,
+       otherwise zero)
       </para></entry>
      </row>
 
@@ -119,6 +123,8 @@
       </para>
       <para>
        Minimum time spent planning the statement, in milliseconds
+       (if <varname>pg_stat_statements.track_planning</varname> is enabled,
+       otherwise zero)
       </para></entry>
      </row>
 
@@ -128,6 +134,8 @@
       </para>
       <para>
        Maximum time spent planning the statement, in milliseconds
+       (if <varname>pg_stat_statements.track_planning</varname> is enabled,
+       otherwise zero)
       </para></entry>
      </row>
 
@@ -137,6 +145,8 @@
       </para>
       <para>
        Mean time spent planning the statement, in milliseconds
+       (if <varname>pg_stat_statements.track_planning</varname> is enabled,
+       otherwise zero)
       </para></entry>
      </row>
 
@@ -145,7 +155,10 @@
        <structfield>stddev_plan_time</structfield> <type>double precision</type>
       </para>
       <para>
-       Population standard deviation of time spent planning the statement, in milliseconds
+       Population standard deviation of time spent planning the statement,
+       in milliseconds
+       (if <varname>pg_stat_statements.track_planning</varname> is enabled,
+       otherwise zero)
       </para></entry>
      </row>
 
@@ -594,7 +607,7 @@
      <para>
       <varname>pg_stat_statements.track_planning</varname> controls whether
       planning operations and duration are tracked by the module.
-      The default value is <literal>on</literal>.
+      The default value is <literal>off</literal>.
       Only superusers can change this setting.
      </para>
     </listitem>