On Mon, Oct 2, 2023 at 04:48:20AM +0200, Laurenz Albe wrote:
> On Fri, 2023-09-29 at 22:34 -0400, Bruce Momjian wrote:
> > Very good point! Updated patch attached.
>
> Thanks! Some small corrections:
>
> > diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
> > index 9cf9d030a8..be1c522575 100644
> > --- a/doc/src/sgml/maintenance.sgml
> > +++ b/doc/src/sgml/maintenance.sgml
> > @@ -861,10 +861,16 @@ 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
> > + autovacuum does not <command>VACUUM</command> them. (Autovacuum does
>
> ... does not <command>VACUUM</command> or <command>ANALYZE</command> them.
>
> Perhaps it would be shorter to say "does not process them" like the
> original wording.
>
> > + perform <command>VACUUM</command> on table partitions just like other
>
> Just like *on* other tables, right?
Good points, updated patch attached.
--
Bruce Momjian <[email protected]> https://momjian.us
EDB https://enterprisedb.com
Only you can decide what is important to you.
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
index 9cf9d030a8..3018d8f64c 100644
--- a/doc/src/sgml/maintenance.sgml
+++ b/doc/src/sgml/maintenance.sgml
@@ -861,10 +861,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>