Show estimated number of groups for Incremental Sort in EXPLAIN
authorDavid Rowley <drowley@postgresql.org>
Tue, 11 Aug 2026 01:30:07 +0000 (13:30 +1200)
committerDavid Rowley <drowley@postgresql.org>
Tue, 11 Aug 2026 01:30:07 +0000 (13:30 +1200)
commitd29d469becec1f2ac082d82863ae1c29fca9dd97
treeeb33bd0c4ae7038329a32c5f4f3a1bb5cdcbee5c
parent086f6f1760140a0055c2faa8d6831fd3ebaf96b0
Show estimated number of groups for Incremental Sort in EXPLAIN

Incremental Sort's costs heavily depend on the estimated number of input
groups with equal presorted key values.  Overestimations can cause the
planner to choose Incremental Sort over Sort when Sort would have
been a better choice.

Here, we add the planner's estimate to EXPLAIN to allow easier
understanding of why Incremental Sort has been chosen.

Author: Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
Reviewed-by: Enrique Sánchez <enriqueesanchz@gmail.com>
Reviewed-by: David Rowley <dgrowleyml@gmail.com>
Reviewed-by: solai v <solai.cdac@gmail.com>
Discussion: https://postgr.es/m/10682fef-3748-43f5-a932-7adcdd9bd2b8%40tantorlabs.com
doc/src/sgml/perform.sgml
src/backend/commands/explain.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/util/pathnode.c
src/include/nodes/pathnodes.h
src/include/nodes/plannodes.h
src/include/optimizer/cost.h