"petrum(at)gmail(dot)com" <petrum(at)gmail(dot)com> writes:
> In file postgresql-9.4.4/src/backend/utils/adt/format_type.c
> function format_type_internal line 159, shouldnt be used
> array_base_type instead of type_oid?
IIRC, that was intentional. Supposing there's a pg_type row with
a corrupted typelem value, it's more useful to point at the bogus
row than to report the junk value with no context. I suppose you
could argue that it should be more like
elog(ERROR, "cache lookup failed for type %u (typelem of %u)",
array_base_type, type_oid);
regards, tom lane