On Wed, 18 Jan 2023 at 22:15, Laurenz Albe <[email protected]> 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>