In <26527.1549572789@sss.pgh.pa.us> I speculated about adding a
function to objectaddress.c that would probe to see if an object
with a given ObjectAddress (still) exists. I started to implement
this, but soon noticed that objectaddress.c doesn't cover all the
object classes that dependency.c knows. This seems bad; is there
a reason for it? The omitted object classes are
AccessMethodOperatorRelationId
AccessMethodProcedureRelationId
AttrDefaultRelationId
DefaultAclRelationId
PublicationRelRelationId
UserMappingRelationId
What's potentially a lot worse, the two subsystems do not agree
as to the object class OID to be used for large objects:
dependency.c has LargeObjectRelationId but what's in objectaddress.c
is LargeObjectMetadataRelationId. How did we get to that, and why
isn't it causing serious problems?
regards, tom lane