[postgis-devel] Upgrade paths (again)
Sandro Santilli
strk at kbt.io
Fri Aug 5 01:18:21 PDT 2022
On Fri, Aug 05, 2022 at 07:56:23AM +0200, Sandro Santilli wrote:
> On Mon, Aug 01, 2022 at 08:00:27AM -0400, Greg Troxel wrote:
> > > That's the first change I'm proposing, but I'm foreseeing a setup
> > > in which we STOP installing "an increasing number of files" but
> > > rather provide an administrative command to install them on demand.
> >
> > It's not clear to me that this is a win.
>
> Is the new idea explored above making it more of a win to you ?
I've implemented this idea in the current 'upgrade-paths' branch
in the git repository, attached to this pull request:
https://git.osgeo.org/gitea/postgis/postgis/pulls/104
Following is an example output of calling, on my machine:
postgis install-upgrade-from-available
Where it ends up installing 40 upgrade path files:
EXTDIR: /usr/share/postgresql/13/extension
Installing upgrades from available version 2.5.6dev
'postgis--2.5.6dev--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--2.5.6dev--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--2.5.6dev--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--2.5.6dev--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--2.5.6dev--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
Installing upgrades from available version 3.3.0dev
'postgis--3.3.0dev--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--3.3.0dev--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--3.3.0dev--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--3.3.0dev--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--3.3.0dev--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
Installing upgrades from available version 3.1.6dev
'postgis--3.1.6dev--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--3.1.6dev--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--3.1.6dev--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--3.1.6dev--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--3.1.6dev--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
Installing upgrades from available version 3.0.6dev
'postgis--3.0.6dev--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--3.0.6dev--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--3.0.6dev--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--3.0.6dev--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--3.0.6dev--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
Installing upgrades from available version 2.4.10dev
'postgis--2.4.10dev--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--2.4.10dev--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--2.4.10dev--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--2.4.10dev--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--2.4.10dev--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
Installing upgrades from available version 3.2.1dev
'postgis--3.2.1dev--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--3.2.1dev--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--3.2.1dev--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--3.2.1dev--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--3.2.1dev--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
Installing upgrades from available version 3.2.1
'postgis--3.2.1--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--3.2.1--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--3.2.1--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--3.2.1--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--3.2.1--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
Installing upgrades from available version 3.2.2dev
'postgis--3.2.2dev--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--3.2.2dev--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--3.2.2dev--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--3.2.2dev--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--3.2.2dev--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
This basically installs upgrade paths for EVERY version of "postgis" found available
in the extension dir of PostgreSQL (found via pg_config, so depending on PATH).
If a user upgraded a system triggering REMOVAL of the older postgis version from
the system, there's still a possibility of installing the upgrade path for
version which are not-anymore-available, via another command, example:
postgis install-upgrade-from 1.0.0
'postgis--1.0.0--ANY.sql' -> 'postgis--TO--ANY.sql'
'postgis_raster--1.0.0--ANY.sql' -> 'postgis_raster--TO--ANY.sql'
'postgis_sfcgal--1.0.0--ANY.sql' -> 'postgis_sfcgal--TO--ANY.sql'
'postgis_tiger_geocoder--1.0.0--ANY.sql' -> 'postgis_tiger_geocoder--TO--ANY.sql'
'postgis_topology--1.0.0--ANY.sql' -> 'postgis_topology--TO--ANY.sql'
How does it feel ?
--strk;
More information about the postgis-devel
mailing list