On Wed, 18 Jan 2023 at 22:15, Laurenz Albe <laurenz.a...@cybertec.at> wrote: > Attached is a new version of my patch that tries to improve the wording.
I had a look at this and agree that we should adjust the paragraph in question if people are finding it confusing. For your wording, I found I had a small problem with calling partitions of a partitioned tables "normal tables" in: + The partitions of a partitioned table are normal tables and get processed + by autovacuum, but autovacuum doesn't process the partitioned table itself. I started to adjust that but since the text is fairly short it turned out quite different from what you had. I ended up with: + With partitioned tables, since these do not directly store tuples, these + do not require autovacuum to perform any <command>VACUUM</command> + operations. Autovacuum simply performs a <command>VACUUM</command> on the + partitioned table's partitions the same as it does with normal tables. + However, the same is true for <command>ANALYZE</command> operations, and + this can be problematic as there are various places in the query planner + that attempt to make use of table statistics for partitioned tables when + partitioned tables are queried. For now, you can work around this problem + by running a manual <command>ANALYZE</command> command on the partitioned + table when the partitioned table is first populated, and again whenever + the distribution of data in its partitions changes significantly. which I've also attached in patch form. I know there's been a bit of debate on the wording and a few patches, so I may not be helping. If nobody is against the above, then I don't mind going ahead with it and backpatching to whichever version this first applies to. I just felt I wasn't 100% happy with what was being proposed. David
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 759ea5ac9c..d327bdc564 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -860,10 +860,17 @@ 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. + With partitioned tables, since these do not directly store tuples, these + do not require autovacuum to perform any <command>VACUUM</command> + operations. Autovacuum simply performs a <command>VACUUM</command> on the + partitioned table's partitions the same as it does with normal tables. + However, the same is true for <command>ANALYZE</command> operations, and + this can be problematic as there are various places in the query planner + that attempt to make use of table statistics for partitioned tables when + partitioned tables are queried. For now, you can work around this problem + by running a manual <command>ANALYZE</command> command on the partitioned + table when the partitioned table is first populated, and again whenever + the distribution of data in its partitions changes significantly. </para> <para>