Update upgrade_adapt.sql to handle tables using aclitem as data type
authorMichael Paquier <michael@paquier.xyz>
Fri, 23 Dec 2022 02:36:57 +0000 (11:36 +0900)
committerMichael Paquier <michael@paquier.xyz>
Fri, 23 Dec 2022 02:36:57 +0000 (11:36 +0900)
commitf4f2f2b84a0bbf9edbfc4a8684040a941cd6d085
tree58ab6a195c5473b28b145aa4b60ce35793614b83
parent3022cb14339656be2afeee72150dcc5725838398
Update upgrade_adapt.sql to handle tables using aclitem as data type

The regression test suite includes a table called "tab_core_types" that
has one attribute based on the type "aclitem".  Keeping this attribute
as-is causes hard failures when running pg_upgrade with an origin on
~15.  This commit updates upgrade_adapt.sql to automatically detect the
tables with such attributes and switch them to text so as pg_upgrade
is able to go through its run.

This does not provide the same detection coverage as pg_upgrade, where
we are able to find out aclitems used in arrays, domains or even
composite types, but this is (I guess) enough for most things like an
instance that had installcheck run on before the upgrade with a dump
generated from it.

Note that the buildfarm code has taken the simplest approach of just
dropping "tab_core_types", so what we have here is more modular.

Author: Anton A. Melnikov
Discussion: https://postgr.es/m/49f389ba-95ce-8a9b-09ae-f60650c0e7c7@inbox.ru
src/bin/pg_upgrade/upgrade_adapt.sql