Re: Doc: Minor update for enable_partitionwise_aggregate

Поиск
Список
Период
Сортировка
От Andrew Atkinson
Тема Re: Doc: Minor update for enable_partitionwise_aggregate
Дата
Msg-id CAG6XLEnzvR2KKiJjXKfie1D65J3JLpGf3s7YseswppLWn8yLiQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Doc: Minor update for enable_partitionwise_aggregate  (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>)
Ответы Re: Doc: Minor update for enable_partitionwise_aggregate  (David Rowley <dgrowleyml@gmail.com>)
Список 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).

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.oss@gmail.com> wrote:
On Sun, Oct 1, 2023 at 7:38 AM Andy Atkinson <andyatkinson@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
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: Re: interval_ops shall stop using btequalimage (deduplication)
Следующее
От: Noah Misch
Дата:
Сообщение: Re: interval_ops shall stop using btequalimage (deduplication)