Do you have a reproducer?
Can you check if you have types with typname of null?
select * from pg_catalog.pg_type t where t.typname is null
> all are typically creating new schemas
Can it be like:
1) org.postgresql.jdbc.PgDatabaseMetaData#getTypeInfo loads all the type ids
2) as it reaches org.postgresql.jdbc.TypeInfoCache#getPGType(int), the
type is no longer in the DB (e.g. dropped)
?
Can you add logging to TypeInfoCache#getPGType & rebuild & test to log
the actual oid in question?
Vladimir