I've committed changes that move the determination of whether recheck is
required into the index AMs. Right now, GIST and GIN just always set
the recheck flag to TRUE. Obviously that control should be pushed down
to the opclass consistent() functions, but I don't know that code well
enough to be clear on exactly what should happen. Are you willing to
do that part?
regards, tom lane