Hi, Alexander!
On Tue, Jun 18, 2024 at 9:14 AM Andrei Lepikhov <lepihov@gmail.com> wrote:
> On 6/18/24 09:32, Bruce Momjian wrote:
> > This commit added enable_group_by_reordering:
> >
> > commit 0452b461bc4
> > Author: Alexander Korotkov <akorotkov@postgresql.org>
> > Date: Sun Jan 21 22:21:36 2024 +0200
> > It mentions it was added as a GUC to postgresql.conf, but I see no SGML
> > docs for this new GUC value. Would someone please add docs for this?
> > Thanks.
> It is my mistake, sorry for that. See the patch in attachment.
Bruce, thank for noticing. Andrei, thank you for providing a fix.
Please, check the revised patch.
I briefly looked into this docs patch. Planner gucs are arranged alphabetically, so enable_group_by_reordering is better to come after enable-gathermerge not before.
+ Enables or disables the reordering of keys in a
+ <literal>GROUP BY</literal> clause to match the ordering keys of a
+ child node of the plan, such as an index scan. When turned off, keys
+ in a <literal>GROUP BY</literal> clause are only reordered to match
+ the <literal>ORDER BY</literal> clause, if any. The default is
+ <literal>on</literal>.
I'd also suggest the same style as already exists for enable_presorted_aggregate guc i.e:
Controls if the query planner will produce a plan which will provide <literal>GROUP BY</literal> keys presorted in the order of keys of a child node of the plan, such as an index scan. When disabled, the query planner will produce a plan with <literal>GROUP BY</literal> keys only reordered to match
the <literal>ORDER BY</literal> clause, if any. When enabled, the planner will try to produce a more efficient plan. The default value is on.
Regards,
Pavel Borisov
Supabase