I happened to notice that the pg_opfamily entry with OID 4035 (jsonb_ops for GIST) is not referenced anywhere; apparently it was put in in anticipation of support that never materialized. We still pass make check-world if it's removed.
Getting rid of it seems like a no-brainer, but it surprised me a bit that none of our automated crosschecks had noticed this. It looks like the reason is that all the amvalidate logic is driven off pg_opclass entries, and so an opfamily that contains no opclass is never examined. We should, therefore, at least add an oprsanity check for opfamilies without opclasses. I wonder how far it's worth going to check for other orphaned catalog entries. regards, tom lane