postgres.git / summary / log / commit / refs

commit    4d966cc163f2cd1645eabdb95905320605b65f4e
Author:   Bruce Momjian <bruce@momjian.us>
Date:     Tue Oct 10 19:14:18 2023 +0000

    doc:  document the need to analyze partitioned tables
    
    Autovacuum does not do it.
    
    Reported-by: Justin Pryzby
    
    Discussion: https://postgr.es/m/20210913035409.GA10647@telsasoft.com
    
    Backpatch-through: 11


doc/src/sgml/maintenance.sgml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index eaffb5a6592..0b5860ebbbd 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -841,10 +841,15 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu </para> <para> - Partitioned tables are not processed by autovacuum. Statistics - should be collected by running a manual <command>ANALYZE</command> when it is - first populated, and again whenever the distribution of data in its - partitions changes significantly. + Partitioned tables do not directly store tuples and consequently + are not processed by autovacuum. (Autovacuum does process table + partitions just like other tables.) Unfortunately, this means that + autovacuum does not run <command>ANALYZE</command> on partitioned + tables, and this can cause suboptimal plans for queries that reference + partitioned table statistics. You can work around this problem by + manually running <command>ANALYZE</command> on partitioned tables + when they are first populated, and again whenever the distribution + of data in their partitions changes significantly. </para> <para> [parent: 6615bb95af2d]