Bruce Momjian <bruce@momjian.us> writes:
> Interesting.  Odd it would report the max 32-bit signed int.  I wonder
> if it somehow is getting set to -1.  I looked briefly at the pg_upgrade
> code and it appears to put all oids in unsigned ints.
On some platforms, that's what you'll get if you feed a value larger
than 2^31 to atoi() and related functions.  I will bet lunch that this
behavior reflects an attempt to use signed-integer input functions on
OID values.  You need to check the string conversion code itself, not
just the declared type of the result variables.
            regards, tom lane