Subject: postgis update from 2.5 to 3

From: Michael Böhm <[email-masked]>
Date: Tue, 12 Nov 2019 14:11:46 +0100

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)

---

From: Christoph Berg <[email-masked]>
Date: Tue, 12 Nov 2019 15:39:58 +0100

Re: Michael Böhm 2019-11-12 <CAKJYtEQVW=[email-masked]>
> »/usr/share/postgresql/10/icons/hicolor/16x16/apps/shp2pgsql-gui.png«

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

> complained about the missing 2.5-scripts-folder

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

> 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

---

From: Michael Böhm <[email-masked]>
Date: Wed, 13 Nov 2019 10:49:46 +0100

Am Di., 12. Nov. 2019 um 15:39 Uhr schrieb Christoph Berg <[email-masked]>:

> Re: Michael Böhm 2019-11-12 <CAKJYtEQVW=
> [email-masked]>

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.

> 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

> 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.

---

From: Christoph Berg <[email-masked]>
Date: Wed, 13 Nov 2019 13:27:07 +0100

Re: Michael Böhm 2019-11-13 <[email-masked]>
> PL/pgSQL-Funktion postgis_full_version() Zeile 26 bei SQL-Anweisung

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

> 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

---

From: Feike Steenbergen <[email-masked]>
Date: Mon, 10 Feb 2020 16:46:02 +0100

> 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