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>