Fix pg_upgrade to detect non-upgradable anyarray usages.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 09878cdd489ff7aca761998e7cb104f4fd98ae02
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2022-07-05T17:06:31Z
Releases: 16.0
Fix pg_upgrade to detect non-upgradable anyarray usages.

When we changed some built-in functions to use anycompatiblearray
instead of anyarray, we created a dump/restore hazard for user-defined
operators and aggregates relying on those functions: the user objects
have to be modified to change their signatures similarly.  This causes
pg_upgrade to fail partway through if the source installation contains
such objects.  We generally try to have pg_upgrade detect such hazards
and fail before it does anything exciting, so add logic to detect
this case too.

Back-patch to v14 where the change was made.

Justin Pryzby, reviewed by Andrey Borodin

Discussion: https://postgr.es/m/3383880.QJadu78ljV@vejsadalnx

Files

PathChange+/−
src/bin/pg_upgrade/check.c modified +135 −0

Discussion