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>