aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorFujii Masao <fujii@postgresql.org>2020-07-03 11:35:22 +0900
committerFujii Masao <fujii@postgresql.org>2020-07-03 11:35:22 +0900
commitd1763ea8c9c32837d373a196ed0c2e1256a55824 (patch)
treed37d50b0563a0d1fc5f230240ea7e9f9b0cd8a36 /doc/src
parent947456a823d6b0973b68c6b38c8623a0504054e7 (diff)
downloadpostgresql-d1763ea8c9c32837d373a196ed0c2e1256a55824.tar.gz
postgresql-d1763ea8c9c32837d373a196ed0c2e1256a55824.zip
Change default of pg_stat_statements.track_planning to off.
Since v13 pg_stat_statements is allowed to track the planning time of statements when track_planning option is enabled. Its default was on. But this feature could cause more terrible spinlock contentions in pg_stat_statements. As a result of this, Robins Tharakan reported that v13 beta1 showed ~45% performance drop at high DB connection counts (when compared with v12.3) during fully-cached SELECT-only test using pgbench. To avoid this performance regression by the default setting, this commit changes default of pg_stat_statements.track_planning to off. Back-patch to v13 where pg_stat_statements.track_planning was introduced. Reported-by: Robins Tharakan Author: Fujii Masao Reviewed-by: Julien Rouhaud Discussion: https://postgr.es/m/2895b53b033c47ccb22972b589050dd9@EX13D05UWC001.ant.amazon.com
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/pgstatstatements.sgml17
1 files changed, 15 insertions, 2 deletions
diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml
index a13e28a84cc..430d8bf07c4 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>