Change default of pg_stat_statements.track_planning to off.
Fujii Masao <fujii@postgresql.org>
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
Files
| Path | Change | +/− |
|---|---|---|
| contrib/pg_stat_statements/expected/pg_stat_statements.out | modified | +1 −0 |
| contrib/pg_stat_statements/pg_stat_statements.c | modified | +1 −1 |
| contrib/pg_stat_statements/sql/pg_stat_statements.sql | modified | +1 −0 |
| doc/src/sgml/pgstatstatements.sgml | modified | +15 −2 |
Documentation touched
Discussion
- track_planning causing performance regression 61 messages · 2020-06-29 → 2021-07-07