From: | Andrew Atkinson <andyatkinson(at)gmail(dot)com> |
---|---|
To: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Doc: Minor update for enable_partitionwise_aggregate |
Date: | 2023-10-11 03:21:50 |
Message-ID: | CAG6XLEnzvR2KKiJjXKfie1D65J3JLpGf3s7YseswppLWn8yLiQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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(dot)bapat(dot)oss(at)gmail(dot)com>
wrote:
> On Sun, Oct 1, 2023 at 7:38 AM Andy Atkinson <andyatkinson(at)gmail(dot)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
>
Attachment | Content-Type | Size |
---|---|---|
query-planning-enable-partitionwise-aggregate-improved-wording_v2.patch | application/octet-stream | 926 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Noah Misch | 2023-10-11 03:29:08 | Re: interval_ops shall stop using btequalimage (deduplication) |
Previous Message | Peter Geoghegan | 2023-10-11 03:12:36 | Re: interval_ops shall stop using btequalimage (deduplication) |