Re: ALTER EXTENSION ... UPGRADE;
Dimitri Fontaine <dimitri@2ndquadrant.fr>
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Dimitri Fontaine <dimitri@2ndQuadrant.fr>, "David E. Wheeler" <david@kineticode.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-12-11T20:09:19Z
Lists: pgsql-hackers
Hi, I've been reading through the entire thread and it seems like this is the best mail to choose to answer. Tom Lane <tgl@sss.pgh.pa.us> writes: > Maybe I misread David's meaning, but I thought he was saying that > there's no value in inventing all those control file entries in the > first place. Just hard-wire in ALTER EXTENSION UPGRADE the convention > that the name of an upgrade script to upgrade from prior version VVV is > EXTNAME-upgrade.VVV.sql (or any variant spelling of that you care for). Yeah that works, as soon as VVV is the version we upgrade from. That said, we need to find a way to lighten the process for extensions where it's easy to have a single script to support upgrade from more than once past release. What about having the following keys supported in the control file: upgrade_<version> = 'script.version.sql' upgrade_all = 'script.sql' Where the version here is the version you're upgrading *from* (to is known and static when you distribute the files after all), and where upgrade_all is applied last no matter what got applied before. Also, do we want a subdirectory per extension to host all those files? Regards, -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support