Re: Doc: Minor update for enable_partitionwise_aggregate

2023-10-12 Thread David Rowley
On Wed, 11 Oct 2023 at 19:38, David Rowley  wrote:
>
> On Wed, 11 Oct 2023 at 16:26, Andrew Atkinson  wrote:
> > "which allows grouping or aggregation on partitioned tables to be performed 
> > separately for each partition."
>
> This looks good to me. I can take care of this.

Pushed and backpatched to v11.

David




Re: Doc: Minor update for enable_partitionwise_aggregate

2023-10-11 Thread David Rowley
On Wed, 11 Oct 2023 at 16:26, Andrew Atkinson  wrote:
>
> 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."

This looks good to me. I can take care of this.

David




Re: Doc: Minor update for enable_partitionwise_aggregate

2023-10-10 Thread Andrew Atkinson
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 
wrote:

> On Sun, Oct 1, 2023 at 7:38 AM Andy Atkinson 
> 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


Re: Doc: Minor update for enable_partitionwise_aggregate

2023-10-03 Thread Ashutosh Bapat
On Sun, Oct 1, 2023 at 7:38 AM Andy Atkinson  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