Re: Plan weirdness. A sort produces more rows than the node beneath it

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dane Foster <studdugie@gmail.com>
Cc: psql-performance <pgsql-performance@postgresql.org>
Date: 2023-08-04T15:10:21Z
Lists: pgsql-performance
Dane Foster <studdugie@gmail.com> writes:
> I'm trying to understand a bit of weirdness in a plan output. There is a
> sort node above a sequential scan node where the scan node produces 26,026
> rows yet the sort node above it produces 42,995,408. How is it possible to
> sort more data than you received?

If the sort is the inner input to a merge join, this could reflect
mark-and-restore rescanning of the sort's output.  Are there a
whole lot of duplicate keys on the merge's other side?

			regards, tom lane