Re: pg_upgrade fails to detect unsupported arrays and ranges

Daniel Gustafsson <daniel@yesql.se>

From: Daniel Gustafsson <daniel@yesql.se>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Tomas Vondra <tomas.vondra@2ndquadrant.com>
Date: 2019-11-10T22:26:09Z
Lists: pgsql-hackers
> On 10 Nov 2019, at 22:05, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Daniel Gustafsson <daniel@yesql.se> writes:

>>> +		/* arrays over any type selected so far */
>>> +						  "			SELECT t.oid FROM pg_catalog.pg_type t, x WHERE typelem = x.oid AND typtype = 'b' "
> 
>> No need to check typlen?
> 
> Yeah, that's intentional.  A fixed-length array type over a problematic
> type would be just as much of a problem as a varlena array type.
> The case shouldn't apply to any of the existing problematic types,
> but I was striving for generality.

That makes a lot of sense, thanks for the explanation.

cheers ./daniel


Commits

  1. Improve wording of some pg_upgrade failure reports.

  2. Fix some more omissions in pg_upgrade's tests for non-upgradable types.

  3. Handle arrays and ranges in pg_upgrade's test for non-upgradable types.