Re: array_cat anycompatible change is breaking xversion upgrade tests
x4mmm@yandex-team.ru
From: Andrey Borodin <x4mmm@yandex-team.ru>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>,
Andrew Dunstan <andrew@dunslane.net>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Bruce Momjian <bruce@momjian.us>
Date: 2022-06-24T11:09:46Z
Lists: pgsql-hackers
Hi everyone!
Sorry for bumping old thread.
> On 25 May 2021, at 21:14, Justin Pryzby <pryzby@telsasoft.com> wrote:
>
> Such aggregate functions should be dropped before upgrade/restore and then
> re-created afterwards using the "anycompatible" functions. The affected
> functions are: array_append, array_prepend, array_cat, array_position,
> array_positions, array_remove, array_replace, and width_bucket.
We've just stumbled upon the problem in our service. Would it be backpatchable to add this check to pg_upgrade?
I want to check something like
select * from pg_aggregate join pg_proc on (aggtransfn = pg_proc.oid)
where proname in ('array_append', 'array_prepend','array_cat', 'array_position','array_positions', 'array_remove', 'array_replace', 'width_bucket') ;
select * from pg_operator join pg_proc on (oprcode = pg_proc.oid)
where proname in ('array_append', 'array_prepend','array_cat', 'array_position','array_positions', 'array_remove', 'array_replace', 'width_bucket') and pg_operator.oid >= 16384;
if pg_upgrade is executed with --check option.
Best regards, Andrey Borodin.
Commits
-
doc: add PG 14 relnote item about array function references
- 25dfb5a831a1 14.0 landed
-
Work around cross-version-upgrade issues created by commit 9e38c2bb5.
- d3d4f7233a3e 11.11 landed
- cea97d98f167 9.6.21 landed
- 97f73a978fc1 14.0 landed
- 6c91e28224f6 9.5.25 landed
- 5ce51f8280d3 12.6 landed
- 5c456d308071 13.2 landed
- 253f02c46f0e 10.16 landed