Regarding this, I came across this, /* * Incremental sort can't be used with either EXEC_FLAG_REWIND, * EXEC_FLAG_BACKWARD or EXEC_FLAG_MARK, because we hold only current * bucket in tuplesortstate. */ I think that is quite understandable. How are you planning to support backwards scan for this? In other words, when will incremental sort be useful for backward scan.
We stopped materializing the sort by default about 15 years ago because it wasn't a common use case and it was very expensive for large sorts.
It's no real problem if incremental sorts don't support backwards scans - we just won't use incremental in that case.