[postgis-users] Library function 'pgis_geometry_union_finalfn' was deprecated in PostGIS 3.3.0

Sandro Santilli strk at kbt.io
Fri Sep 30 08:44:10 PDT 2022


On Fri, Sep 30, 2022 at 09:25:38AM +0200, Giuseppe Naponiello wrote:
> 
>  POSTGIS="3.3.1 3786b21" [EXTENSION] PGSQL="130" GEOS="3.9.0-CAPI-1.16.2"
> PROJ="7.2.1" GDAL="GDAL 3.2.2, released 2021/03/05" LIBXML="2.9.10"
> LIBJSON="0.15" LIBPROTOBUF="1.3.3" WAGYU="0.5.0 (Internal)" (core procs from
> "3.1.4 ded6c34" need upgrade) RASTER (raster lib from "2.4.9 r0" need
> upgrade) [UNPACKAGED!] (raster procs from "2.4.9" need upgrade)

Note the "need upgrade" message.

> ERROR:  A stored procedure tried to use deprecated C function 'pgis_geometry_union_finalfn'
> DETAIL:  Library function 'pgis_geometry_union_finalfn' was deprecated in PostGIS 3.3.0
> HINT:  Consider running: SELECT postgis_extensions_upgrade()

Great message!

> and if I run this select I have:
> 
> ERROR:  extension "postgis" has no update path from version "3.1.4" to
> version "2.4.9"

This means that your current "default" PostGIS version is 2.4.9,
so "postgis_extensions_upgrade()" tries to upgrade to that version,
but it's actually a DOWNGRADE instead.

Also, it looks like your PostgreSQL thinks the PostGIS extension
version you have installed is 3.3.1 but you never really upgraded
the scripts to that version (they are stuck at 3.1.4).

> Any tips?

My suggestion is to (re)install PostGIS 3.3.1 to ensure it's listed
as the default version and run `postgis_extensions_upgrade()`.
Or you can do this manually by editing postgis.control (but
re-installing is less error prone).

Note there's a feature request issue for postgis_extensions_upgrade()
to accept a target version, which would have helped in your case:

  https://trac.osgeo.org/postgis/ticket/5052

--strk;


More information about the postgis-users mailing list