Re: array_cat anycompatible change is breaking xversion upgrade tests (v14 release notes)

Justin Pryzby <pryzby@telsasoft.com>

From: Justin Pryzby <pryzby@telsasoft.com>
To: Bruce Momjian <bruce@momjian.us>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@lists.postgresql.org
Date: 2021-06-12T01:19:48Z
Lists: pgsql-hackers
On Fri, Jun 11, 2021 at 09:12:55PM -0400, Bruce Momjian wrote:
> OK, I used some of your ideas and tried for something more general; 
> patch attached.

This is good.

But I wonder if "dropped before upgrading" is too specific to pg_upgrade?

Dropping the aggregate before starting a backup to be restored into a new
version seems like a bad way to do it.  More likely, I would restore whatever
backup I had, get errors, and then eventually recreate the aggregates.

> +     <para>
> +      User-defined objects that reference some built-in array functions
> +      along with their argument types must be recreated (Tom Lane)
> +     </para>
> +
> +     <para>
> +      Specifically, <link
> +      linkend="functions-array"><function>array_append()</function></link>,
...
> +      used to take <type>anyarray</type> arguments but now take
> +      <type>anycompatiblearray</type>.  Therefore, user-defined objects
> +      that reference the old array function signature must be dropped
> +      before upgrading and recreated once the upgrade completes.
> +     </para>
> +    </listitem>



Commits

  1. doc: add PG 14 relnote item about array function references

  2. Work around cross-version-upgrade issues created by commit 9e38c2bb5.