Change default of pg_stat_statements.track_planning to off.
authorFujii Masao <[email protected]>
Fri, 3 Jul 2020 02:35:22 +0000 (11:35 +0900)
committerFujii Masao <[email protected]>
Fri, 3 Jul 2020 02:35:22 +0000 (11:35 +0900)
commitd1763ea8c9c32837d373a196ed0c2e1256a55824
treed37d50b0563a0d1fc5f230240ea7e9f9b0cd8a36
parent947456a823d6b0973b68c6b38c8623a0504054e7
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
contrib/pg_stat_statements/expected/pg_stat_statements.out
contrib/pg_stat_statements/pg_stat_statements.c
contrib/pg_stat_statements/sql/pg_stat_statements.sql
doc/src/sgml/pgstatstatements.sgml