The release notes for Postgres 16 says here: https://www.postgresql.org/docs/16/release-16.html#RELEASE-16-PERFORMANCE
> Allow window functions to use ROWS mode internally when RANGE mode is specified but unnecessary (David Rowley) But the fix also applies to the much more common case where no mode has been specified, RANGE unfortunately being the default - including the most common use case "row_number() OVER (ORDER BY col)". This is what made me investigate, test and eventually propose a fix in the first place. See: https://www.postgresql.org/message-id/flat/CAGHENJ7LBBszxS%2BSkWWFVnBmOT2oVsBhDMB1DFrgerCeYa_DyA%40mail.gmail.com https://www.postgresql.org/message-id/flat/CAApHDvohAKEtTXxq7Pc-ic2dKT8oZfbRKeEJP64M0B6%2BS88z%2BA%40mail.gmail.com Also, I was hoping to get a mention in the release note for working this out: > Allow window functions to use the faster ROWS mode internally when RANGE mode is specified or would be used by default, but unnecessary (David Rowley, Erwin Brandstetter) Regards Erwin