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
Branch
------
REL_13_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/8d459762b10372e48845a49b305f4e1e165fe173
Modified Files
--------------
.../pg_stat_statements/expected/pg_stat_statements.out | 1 +
contrib/pg_stat_statements/pg_stat_statements.c | 2 +-
contrib/pg_stat_statements/sql/pg_stat_statements.sql | 1 +
doc/src/sgml/pgstatstatements.sgml | 17 +++++++++++++++--
4 files changed, 18 insertions(+), 3 deletions(-)