I've previously noted upthread (along with several others), that I don't see a good reason to limit this new capability to index only scans. In addition to the reasons upthread, this also prevents using the new feature on physical replicas since index only scans require visibility map (IIRC) information that isn't safe to make assumptions about on a replica.
That being said, it strikes me that this likely indicates an existing architecture issue. I was discussing the problem at PGCon with Andres and Heiki with respect to an index scan variation I've been working on myself. In short, it's not clear to me why we want index only scans and index scans to be entirely separate nodes, rather than optional variations within a broader index scan node. The problem becomes even more clear as we continue to add additional variants that lie on different axis, since we end up with an ever multiplying number of combinations. In that discussion no one could remember why it'd been done that way, but I'm planning to try to find the relevant threads in the archives to see if there's anything in particular blocking combining them. I generally dislike gating improvements like this on seemingly tangentially related refactors, but I will make the observation that adding the skip scan on top of such a refactored index scan node would make this a much more obvious and complete win. As I noted to Jesper at PGCon I'm happy to review the code in detail also, but likely won't get to it until later this week or next week at the earliest. Jesper: Is there anything still on your list of things to change about the patch? Or would now be a good time to look hard at the code? James Coleman