On Thu, Jul 29, 2021 at 11:46:12AM -0400, Jan Wieck wrote: > On 7/29/21 11:10 AM, Bruce Momjian wrote: > > On Thu, Jul 29, 2021 at 11:01:43AM -0400, Dave Cramer wrote: > > > Much better, however I'm unclear on whether CREATE EXTENSION is actually > > > executed on the upgraded server. > > > > > > From what I could gather it is not, otherwise the new function definitions > > > should have been in place. I think what happens is that the function > > > definitions are copied as part of the > > > schema and pg_extension is also copied. > > > > Yes, the _effect_ of CREATE EXTENSION in the old cluster is copied to > > the new cluster as object definitions. CREATE EXTENSION runs the SQL > > files associated with the extension. > > > > This assumes that the scripts executed during CREATE EXTENSION have no > conditional code in them that depends on the server version. Running the > same SQL script on different server versions can have different effects. > > I don't have a ready example of such an extension, but if we ever would > convert the backend parts of Slony into an extension, it would be one.
The bottom line is that we have _no_ mechanism to handle this except uninstalling the extension before the upgrade and re-installing it afterward, which isn't clearly spelled out for each extension, as far as I know, and would not work for extensions that create data types. Yes, I do feel this is a big hold in our upgrade instructions. -- Bruce Momjian <br...@momjian.us> https://momjian.us EDB https://enterprisedb.com If only the physical world exists, free will is an illusion.