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


>
>
>

Reply via email to