Changes between Version 15 and Version 16 of PostGISExtensionPaths
- Timestamp:
- 02/11/22 11:41:10 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PostGISExtensionPaths
v15 v16 82 82 === SOLUTION 3 === 83 83 84 The 0-byte file and strip model. This approach creates 0 or very small byte files, with their existense solely to maintain PostgreSQL extension chain model. 85 Still up for discussion: **To reduce file bloat, we will have <version-minor>.X--<version-minor-current> files**. 86 We will keep 2 micros before for each minor, just in case the user uninstalled the prior minor before installing the new one. 84 The 0-byte file model. This approach creates 0 or very small byte files, with their existence solely to maintain PostgreSQL extension chain model. 87 85 88 86 89 The assumption is anyone coming from a prior minor will have a file such as postgis--3.2.1--3.2.X version OR use the postgis_extensions_upgrade() function. 90 91 In this model, our generated extension upgrade scripts will look like the below, with only the postgis--3.3.X--3.3.0.sql having any upgrade statements in it. 87 In this model, our generated extension upgrade scripts will look like the below, with only the postgis--3.3.X--3.3.0.sql having any upgrade statements in it and the others being 0-byte or miniscule with a comment or no-op command. 92 88 93 89 ---- 94 90 {{{ 95 91 : 92 postgis--3.0.1--3.3.X.sql 93 postgis--3.0.2--3.3.X.sql 94 postgis--3.0.3--3.3.X.sql 96 95 postgis--3.0.4--3.3.X.sql 97 96 postgis--3.0.5--3.3.X.sql 98 postgis--3.0.X--3.3.X.sql 97 postgis--3.1.1--3.3.X.sql 98 postgis--3.1.2--3.3.X.sql 99 postgis--3.1.3--3.3.X.sql 99 100 postgis--3.1.4--3.3.X.sql 100 101 postgis--3.1.5--3.3.X.sql 101 postgis--3.1.X--3.3.X.sql102 102 postgis--3.2.0--3.3.X.sql 103 103 postgis--3.2.1--3.3.X.sql 104 postgis--3.2.X--3.3.X.sql105 104 postgis--3.3.X--3.3.0.sql 106 postgis--3.3.0--3.3.X.sql107 105 }}} 108 106 ---- … … 110 108 111 109 1. We are staying between the lines. Respecting known practices, but still having much lighter weight scripts. 112 2. A little less clutter, but we are relying on the user having the old version still installed (or being within 2 micro versions of the last minor they have installed) so that they have a chain 113 postgis--<old-version-minor>.X--<old-version-minor-verson>.sql 114 3. An easier release cycle since extensions/updateable.mk doesn't need to list the prior micros. 115 4. No change in upgrade extension workflow for packagers (or users who think of PostGIS as any other extension). 116 5. It will work for all PostgreSQL versions supported 110 2. No change in upgrade extension workflow for packagers (or users who think of PostGIS as any other extension). 111 3. It will work for all PostgreSQL versions supported 117 112 118 113 ** Downsides:** 119 114 120 1. We still have some clutter of files, and without addendum, we have just as much clutter of files as before. 121 2. With addendum, it is not possible for a user to upgrade using ALTER EXTENSION from a version we don't ship a script for. They would have to use and that assumes this version -- has the ANY/MAX hack. 115 1. We still have the same useless clutter of files. 122 116 123 ---- 124 SELECT postgis_extensions_upgrade(); 125 ---- 126 127 3. It is not possible to upgrade from version (prior PostgreSQL version) 3.3.0 to (newer PostgreSQL version) 3.3.0 which is needed often in pg_upgrade to gain the benefits of new features in latest PostgreSQL version that are not exposed in older PostgreSQL versions. Such operation would just state "You are already at latest version" and not do anything, unless one does it via 117 2. It is not possible to upgrade from version (prior PostgreSQL version) 3.3.0 to (newer PostgreSQL version) 3.3.0 which is needed often in pg_upgrade to gain the benefits of new features in latest PostgreSQL version that are not exposed in older PostgreSQL versions. Such operation would just state "You are already at latest version" and not do anything, unless one does it via 128 118 129 119 ----