On Thu, 15 Jul 2021 at 11:15, David G. Johnston <david.g.johns...@gmail.com> wrote:
> On Thursday, July 15, 2021, David G. Johnston <david.g.johns...@gmail.com> > wrote: > >> On Thursday, July 15, 2021, Dave Cramer <davecra...@gmail.com> wrote: >> >>> >>> Install any custom shared object files (or DLLs) used by the old >>> cluster >>> into the new cluster, e.g., <filename>pgcrypto.so</filename>, >>> whether they are from <filename>contrib</filename> >>> - or some other source. >>> However it may be >>> + necessary to recreate the extension on the new server after the >>> upgrade >>> + to ensure compatibility with the new library. >>> >>> >> >> My uncertainty revolves around core extensions since it seems odd to >> tell the user to overwrite them with versions from an older version of >> PostgreSQL. >> > > Ok. Just re-read the docs a third time…no uncertainty regarding contrib > now…following the first part of the instructions means that before one > could re-run create extension they would need to restore the original > contrib library files to avoid the new extension code using the old > library. So that whole part about recreation is inconsistent with the > existing unchanged text. > > The way I solved the original problem of having old function definitions for pg_stat_statement functions in the *new* library was by recreating the extension which presumably redefines the functions correctly. I'm thinking at this point we need something a bit more sophisticated like ALTER EXTENSION ... UPGRADE. And the extension knows how to upgrade itself. Dave > > >