Thread: postgis update from 2.5 to 3

postgis update from 2.5 to 3

From
Michael Böhm
Date:
Hello,

i tried to upgrade a test-system from postgis 2.5 to 3 and had a little bit of trouble. Just wanted to let you know about that and ask if my actions were okay or if can do anything different when upgrading the live-system.

As always i wanted to install the newer version beside the current one and then do the extension upgrade in postgres. Problem is that installing the package "postgresql-10-postgis-3-scripts" tries to overwrite some files already provided by " postgresql-10-postgis-2.5-scripts":

»/usr/share/postgresql/10/applications/shp2pgsql-gui.desktop«
»/usr/share/postgresql/10/icons/hicolor/16x16/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/22x22/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/24x24/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/32x32/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/36x36/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/40x40/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/42x42/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/48x48/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/64x64/apps/shp2pgsql-gui.png«
»/usr/share/postgresql/10/icons/hicolor/8x8/apps/shp2pgsql-gui.png«

1. Removing all 2.5-packages, then installing 3 was one solution, but "ALTER EXTENSION postgis UPDATE;" afterwards wasn't possible as it complained about the missing 2.5-scripts-folder

2. Installing postgis-3(-scripts) with "-o Dpkg::Options::="--force-overwrite"" was successful and i could finish the upgrade with "ALTER EXTENSION postgis UPDATE;" and "SELECT PostGIS_Extensions_Upgrade();"

Is this a packaging-bug, everything working as expected or did i mess up?

Regards

Michael

(Please CC me as i'm not subscribed to the list)

Re: postgis update from 2.5 to 3

From
Christoph Berg
Date:
Re: Michael Böhm 2019-11-12 <CAKJYtEQVW=V3wG9wX4nBoX9Rqti3PfJ7qANNdjO5ztF_3JyZSA@mail.gmail.com>
> As always i wanted to install the newer version beside the current one and
> then do the extension upgrade in postgres. Problem is that installing the
> package "postgresql-10-postgis-3-scripts" tries to overwrite some files
> already provided by " postgresql-10-postgis-2.5-scripts":
> 
> »/usr/share/postgresql/10/applications/shp2pgsql-gui.desktop«
> »/usr/share/postgresql/10/icons/hicolor/16x16/apps/shp2pgsql-gui.png«

Meh. PostGIS installs files in way too many weird places.

> 1. Removing all 2.5-packages, then installing 3 was one solution, but
> "ALTER EXTENSION postgis UPDATE;" afterwards wasn't possible as it
> complained about the missing 2.5-scripts-folder

Interesting... I would have thought that upgrading didn't need the old
files.

> 2. Installing postgis-3(-scripts) with "-o
> Dpkg::Options::="--force-overwrite"" was successful and i could finish the
> upgrade with "ALTER EXTENSION postgis UPDATE;" and "SELECT
> PostGIS_Extensions_Upgrade();"

That's the workaround I would have suggested, yes.

> Is this a packaging-bug, everything working as expected or did i mess up?

Packaging bug. I thought I had tested that, but apparently I had
tested something else. I wonder how I missed that given that
postgresql-10-postgis-3 does depend on postgresql-10-postgis-3-scripts
now, and same for the -2.5 packages. Maybe the problem is only with
older packages.

Which versions of the -2.5 and -3 packages exactly did you use?

Thanks for reporting,
Christoph



Re: postgis update from 2.5 to 3

From
Michael Böhm
Date:
Am Di., 12. Nov. 2019 um 15:39 Uhr schrieb Christoph Berg <myon@debian.org>:
Re: Michael Böhm 2019-11-12 <CAKJYtEQVW=V3wG9wX4nBoX9Rqti3PfJ7qANNdjO5ztF_3JyZSA@mail.gmail.com>
> As always i wanted to install the newer version beside the current one and
> then do the extension upgrade in postgres. Problem is that installing the
> package "postgresql-10-postgis-3-scripts" tries to overwrite some files
> already provided by " postgresql-10-postgis-2.5-scripts":
>
> »/usr/share/postgresql/10/applications/shp2pgsql-gui.desktop«
> »/usr/share/postgresql/10/icons/hicolor/16x16/apps/shp2pgsql-gui.png«

Meh. PostGIS installs files in way too many weird places.

> 1. Removing all 2.5-packages, then installing 3 was one solution, but
> "ALTER EXTENSION postgis UPDATE;" afterwards wasn't possible as it
> complained about the missing 2.5-scripts-folder

Interesting... I would have thought that upgrading didn't need the old
files.

Well it looked like this:

edugis=# SELECT PostGIS_full_version();
FEHLER:  konnte nicht auf Datei »$libdir/postgis-2.5« zugreifen: Datei oder Verzeichnis nicht gefunden
KONTEXT:  SQL-Anweisung »SELECT public.postgis_lib_version()«
PL/pgSQL-Funktion postgis_full_version() Zeile 26 bei SQL-Anweisung

edugis=# ALTER EXTENSION postgis UPDATE;
WARNUNG:  unpackaging raster
WARNUNG:  PostGIS Raster functionality has been unpackaged
TIP:  type `SELECT postgis_extensions_upgrade(); to finish the upgrade. After upgrading, if you want to drop raster, run: DROP EXTENSION postgis_raster;
FEHLER:  konnte nicht auf Datei »$libdir/postgis-2.5« zugreifen: Datei oder Verzeichnis nicht gefunden
KONTEXT:  PL/pgSQL-Funktion _postgis_drop_function_if_needed(text,text) Zeile 6 bei FOR über SELECT-Zeilen

edugis=# SELECT PostGIS_Extensions_Upgrade();
WARNUNG:  unpackaging raster
WARNUNG:  PostGIS Raster functionality has been unpackaged
TIP:  type `SELECT postgis_extensions_upgrade(); to finish the upgrade. After upgrading, if you want to drop raster, run: DROP EXTENSION postgis_raster;
FEHLER:  konnte nicht auf Datei »$libdir/postgis-2.5« zugreifen: Datei oder Verzeichnis nicht gefunden
KONTEXT:  PL/pgSQL-Funktion _postgis_drop_function_if_needed(text,text) Zeile 6 bei FOR über SELECT-Zeilen
SQL-Anweisung »ALTER EXTENSION postgis UPDATE TO "3.0.0";«
PL/pgSQL-Funktion postgis_extensions_upgrade() Zeile 22 bei EXECUTE

edugis=# DROP EXTENSION postgis_raster;
FEHLER:  Erweiterung »postgis_raster« existiert nicht

edugis=# SELECT PostGIS_full_version();
FEHLER:  konnte nicht auf Datei »$libdir/postgis-2.5« zugreifen: Datei oder Verzeichnis nicht gefunden
KONTEXT:  SQL-Anweisung »SELECT public.postgis_lib_version()«
PL/pgSQL-Funktion postgis_full_version() Zeile 26 bei SQL-Anweisung

After that i reverted to the snapshot i made before and tried option 2.
 
> 2. Installing postgis-3(-scripts) with "-o
> Dpkg::Options::="--force-overwrite"" was successful and i could finish the
> upgrade with "ALTER EXTENSION postgis UPDATE;" and "SELECT
> PostGIS_Extensions_Upgrade();"

That's the workaround I would have suggested, yes.

> Is this a packaging-bug, everything working as expected or did i mess up?

Packaging bug. I thought I had tested that, but apparently I had
tested something else. I wonder how I missed that given that
postgresql-10-postgis-3 does depend on postgresql-10-postgis-3-scripts
now, and same for the -2.5 packages. Maybe the problem is only with
older packages.

Which versions of the -2.5 and -3 packages exactly did you use?

Well i always try to update asap so before i had:
ii  postgresql-10-postgis-2.5            2.5.3+dfsg-2.pgdg100+1
ii  postgresql-10-postgis-2.5-scripts    2.5.3+dfsg-2.pgdg100+1
and now
ii  postgresql-10-postgis-3              3.0.0+dfsg-2~exp1.pgdg100+1
ii  postgresql-10-postgis-3-scripts      3.0.0+dfsg-2~exp1.pgdg100+1
 

Thanks for reporting,
Christoph

No problem, if i need to find a workaround for myself and nothing comes up from the depth of the web i like to somehow let people know.

Re: postgis update from 2.5 to 3

From
Christoph Berg
Date:
Re: Michael Böhm 2019-11-13 <CAKJYtETxgMiGze5hcjhgGOy_4B4wh8YfL6nnKE_UxkwO6iFwjA@mail.gmail.com>
> > Interesting... I would have thought that upgrading didn't need the old
> > files.
> >
> 
> Well it looked like this:
> 
> edugis=# SELECT PostGIS_full_version();
> FEHLER:  konnte nicht auf Datei »$libdir/postgis-2.5« zugreifen: Datei oder
> Verzeichnis nicht gefunden
> KONTEXT:  SQL-Anweisung »SELECT public.postgis_lib_version()«
> PL/pgSQL-Funktion postgis_full_version() Zeile 26 bei SQL-Anweisung

Ok, that's missing the old *libs*, that's somewhat expected.

> > Which versions of the -2.5 and -3 packages exactly did you use?
> >
> 
> Well i always try to update asap so before i had:
> ii  postgresql-10-postgis-2.5            2.5.3+dfsg-2.pgdg100+1
> ii  postgresql-10-postgis-2.5-scripts    2.5.3+dfsg-2.pgdg100+1
> and now
> ii  postgresql-10-postgis-3              3.0.0+dfsg-2~exp1.pgdg100+1
> ii  postgresql-10-postgis-3-scripts      3.0.0+dfsg-2~exp1.pgdg100+1

Thanks, I'll see what I can do about the file conflicts. It will
likely take until next week, however.

Christoph



Re: postgis update from 2.5 to 3

From
Feike Steenbergen
Date:


On Wed, 13 Nov 2019 at 13:27, Christoph Berg <myon@debian.org> wrote:
> Thanks, I'll see what I can do about the file conflicts. It will
> likely take until next week, however.

I'm wondering if my current installation woes are the same as these one, I'm trying
to include both 2.5 and 3.0 in a Docker image, and I get the following error
message:

dpkg: error processing archive /var/cache/apt/archives/postgresql-11-postgis-3-scripts_3.0.0+dfsg-2~exp1.pgdg100+1_all.deb (--unpack):
 trying to overwrite '/usr/share/postgresql/11/applications/shp2pgsql-gui.desktop',
 which is also in package postgresql-11-postgis-2.5-scripts 2.5.3+dfsg-3.pgdg100+1

The -o Dpkg::Options::="--force-overwrite" works ok for me for now,
Kind regards,

Feike Steenbergen