This commit added enable_group_by_reordering:

        commit 0452b461bc4
        Author: Alexander Korotkov <akorot...@postgresql.org>
        Date:   Sun Jan 21 22:21:36 2024 +0200
        
            Explore alternative orderings of group-by pathkeys during 
optimization.
        
            When evaluating a query with a multi-column GROUP BY clause, we can 
minimize
            sort operations or avoid them if we synchronize the order of GROUP 
BY clauses
            with the ORDER BY sort clause or sort order, which comes from the 
underlying
            query tree. Grouping does not imply any ordering, so we can compare
            the keys in arbitrary order, and a Hash Agg leverages this. But for 
Group Agg,
            we simply compared keys in the order specified in the query. This 
commit
            explores alternative ordering of the keys, trying to find a cheaper 
one.
        
            The ordering of group keys may interact with other parts of the 
query, some of
            which may not be known while planning the grouping. For example, 
there may be
            an explicit ORDER BY clause or some other ordering-dependent 
operation higher up
            in the query, and using the same ordering may allow using either 
incremental
            sort or even eliminating the sort entirely.
        
            The patch always keeps the ordering specified in the query, 
assuming the user
            might have additional insights.
        
            This introduces a new GUC enable_group_by_reordering so that the 
optimization
            may be disabled if needed.
        
            Discussion: 
https://postgr.es/m/7c79e6a5-8597-74e8-0671-1c39d124c9d6%40sigaev.ru
            Author: Andrei Lepikhov, Teodor Sigaev
            Reviewed-by: Tomas Vondra, Claudio Freire, Gavin Flower, Dmitry 
Dolgov
            Reviewed-by: Robert Haas, Pavel Borisov, David Rowley, Zhihong Yu
            Reviewed-by: Tom Lane, Alexander Korotkov, Richard Guo, Alena 
Rybakina

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.

-- 
  Bruce Momjian  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Only you can decide what is important to you.


Reply via email to