pgsql: autovacuum: handle analyze for partitioned tables
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: pgsql-committers@lists.postgresql.org
Date: 2021-04-08T05:20:39Z
Lists: pgsql-hackers
autovacuum: handle analyze for partitioned tables Previously, autovacuum would completely ignore partitioned tables, which is not good regarding analyze -- failing to analyze those tables means poor plans may be chosen. Make autovacuum aware of those tables by propagating "changes since analyze" counts from the leaf partitions up the partitioning hierarchy. This also introduces necessary reloptions support for partitioned tables (autovacuum_enabled, autovacuum_analyze_scale_factor, autovacuum_analyze_threshold). It's unclear how best to document this aspect. Author: Yuzuko Hosoya <yuzukohosoya@gmail.com> Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com> Reviewed-by: Tomas Vondra <tomas.vondra@enterprisedb.com> Reviewed-by: Álvaro Herrera <alvherre@alvh.no-ip.org> Discussion: https://postgr.es/m/CAKkQ508_PwVgwJyBY=0Lmkz90j8CmWNPUxgHvCUwGhMrouz6UA@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/0827e8af70f4653ba17ed773f123a60eadd9f9c9 Modified Files -------------- src/backend/access/common/reloptions.c | 15 +++-- src/backend/catalog/system_views.sql | 4 +- src/backend/commands/analyze.c | 40 ++++++++---- src/backend/postmaster/autovacuum.c | 105 +++++++++++++++++++++++++++++--- src/backend/postmaster/pgstat.c | 108 ++++++++++++++++++++++++++++++--- src/include/pgstat.h | 25 +++++++- src/test/regress/expected/rules.out | 4 +- 7 files changed, 257 insertions(+), 44 deletions(-)
Commits
-
Describe (auto-)analyze behavior for partitioned tables
- 1b5617eb844c 14.0 landed
-
Add comment about extract_autovac_opts not holding lock
- 7c298c6573a0 14.0 landed
-
Set pg_class.reltuples for partitioned tables
- 0e69f705cc1a 14.0 landed
-
autovacuum: handle analyze for partitioned tables
- 0827e8af70f4 14.0 cited