I also think so. If this is true, how can we think of supporting indexes other than hash like GiST, and SP-GiST as mentioned by you in your latest email? As per my understanding if we don't have PK or replica identity then after the index scan, we do tuples_equal which will fail for GIST or SP-GIST. Am, I missing something?
I also don't think we can support anything other than btree, hash and brin as those lack equality operators.
And, for BRIN, Hayato brought up the amgettuple issue, which is fair. So, overall, as far as I can see, we can
easily add hash indexes but all others are either very hard to add or not possible.
I think if someone one day works on supporting primary keys using other index types, we can use it here :p