Thank you for the feedback and clarifications Ashutosh. How about this? "which allows grouping or aggregation on partitioned tables to be performed separately for each partition."
Attached a v2 patch file with this change. Here is a gist w/ a partitioned table and 2 partitions, comparing execution plans after enabling the parameter, and reading the plan nodes up from the bottom. With enable_partitionwise_aggregate = on, I can see the Partial HashAggregate/"Group Key" on each of the two partitions (of the partitioned table) where I don't see that when the setting is off (by default). https://gist.github.com/andyatkinson/7af81fb8a5b9e677af6049e29ab2cb73 For the terms partitioned table vs. partitions, I used how they're described here: https://www.postgresql.org/docs/current/ddl-partitioning.html - partitioned table (virtual table) - partitions (of a partitioned table) Thanks! Andrew On Tue, Oct 3, 2023 at 4:33 AM Ashutosh Bapat <ashutosh.bapat....@gmail.com> wrote: > On Sun, Oct 1, 2023 at 7:38 AM Andy Atkinson <andyatkin...@gmail.com> > wrote: > > > > Hello. While reading the docs for the enable_partitionwise_aggregate > parameter on the Query Planning page, I thought the description had a small > mistake that could be improved. > > > > The current wording is: "which allows grouping or aggregation on a > partitioned tables performed separately " > > > > Page: https://www.postgresql.org/docs/current/runtime-config-query.html > > > > I think possible better alternatives could be: > > > > (Option 1) a "partitioned table's partitions" (the possessive form of > "it's"). The "enable_partition_pruning" parameter uses "the partitioned > table's partitions" in this form. I think this option is good, but I had a > slight preference for option 2. > > (Option 2) Or to just cut out the first part and say "to be performed > separately for each partition", which seemed simpler. So the sentence > reads: "which allows grouping or aggregation to be performed separately for > each partition" > > I would leave "on a partitioned table". Notice that I have removed "s" > from tables. > > > (Option 3) dropping the "a" so it says "which allows grouping or > aggregation on partitioned tables performed separately". I don't think this > is as good though because the aggregation happens on the partitions, so it > feels slightly off to me to say the "partitioned tables" instead of the > partitions. > > It's technically incorrect as well. Aggregation is performed on a > single relation always - a join or subquery or simple relation. A join > may have multiple tables in it but the aggregation is performed on its > result and not individual tables and hence not on partitions of > individual tables. > > -- > Best Wishes, > Ashutosh Bapat >
query-planning-enable-partitionwise-aggregate-improved-wording_v2.patch
Description: Binary data