I am writing a program that behaves like a Postgres backend and can see
that if I select oid from pg_type that the type old’s could be returned in
the Row Description message for the field’s data type and that seems to
work.
However, I didn’t read anywhere that these are guaranteed to be
constant/stable so I’d like to know if this is the case. For example: is
the old for pg_type bool = 16 on every instance of Postgres?
Hand-assigned OIDs (those below 10000) are stable in released versions. Those above 10K might vary across installations or PG versions. You might find it interesting to read