upgrade from 3.5.3 to 3.6.0: ERROR: could not find function "ST_CoverageClean
Justin Pryzby
pryzby at telsasoft.com
Tue Oct 21 10:04:37 PDT 2025
Err, yeah. I should've known to look for this myself.
Looks like apt updated one package but not its sibling package, due to
dependencies/held packages/etc.
ii postgresql-17-postgis-3 3.5.3+dfsg-1~exp1.pgdg120+1 amd64 Geographic objects support for PostgreSQL 17
ii postgresql-17-postgis-3-scripts 3.6.0+dfsg-2.pgdg13+1 all Geographic objects support for PostgreSQL 17 -- SQL scripts
I upgraded the sibling package and updated the extension fine.
Sorry for the noise
--
Justin
On Tue, Oct 21, 2025 at 10:00:26AM -0700, Paul Ramsey wrote:
> The implication is that for some reason the package you have includes an
> older version of postgis-3.so than it is advertising. And yet has SQL
> scripts for the latest version.
>
> Maybe see if that bears out?
>
> strings /usr/lib/postgresql/17/lib/postgis-3.so | grep "3.5"
>
> Given that most packagers will have packaged 3.6 with PgSQL 18, not PgSQL
> 17, I can imagine a fat finger error happening potentially.
>
> P.
>
> On Tue, Oct 21, 2025 at 9:38 AM Justin Pryzby <pryzby at telsasoft.com> wrote:
>
> > We got this error after applying debian OS updates:
> >
> > 2025-10-21 10:37:20 upgrade postgresql-17-postgis-3-scripts:all
> > 3.5.3+dfsg-1~exp1.pgdg120+1 3.6.0+dfsg-2.pgdg13+1
> >
> > ts=# \dx postgis
> > Name | Version | Schema | Description
> >
> > ---------+---------+--------+------------------------------------------------------------
> > postgis | 3.5.3 | public | PostGIS geometry and geography spatial types
> > and functions
> >
> > ts=# ALTER EXTENSION postgis UPDATE ;
> > ERROR: could not find function "ST_CoverageClean" in file
> > "/usr/lib/postgresql/17/lib/postgis-3.so"
> > ts=# SELECT postgis_extensions_upgrade();
> > NOTICE: Updating extension postgis 3.5.3
> > ERROR: could not find function "ST_CoverageClean" in file
> > "/usr/lib/postgresql/17/lib/postgis-3.so"
> > CONTEXT: SQL statement "ALTER EXTENSION postgis UPDATE TO "ANY";ALTER
> > EXTENSION postgis UPDATE TO "3.6.0""
> > PL/pgSQL function postgis_extensions_upgrade(text) line 88 at EXECUTE
> >
> > ts=# SELECT * FROM pg_available_extensions WHERE name='postgis';
> > name | default_version | installed_version |
> > comment
> >
> > ---------+-----------------+-------------------+------------------------------------------------------------
> > postgis | 3.6.0 | 3.5.3 | PostGIS geometry and
> > geography spatial types and functions
> >
> > ts=# SELECT * FROM pg_available_extension_versions WHERE name='postgis';
> > name | version | installed | superuser | trusted | relocatable |
> > schema | requires | comment
> >
> >
> > ---------+------------+-----------+-----------+---------+-------------+--------+----------+------------------------------------------------------------
> > postgis | unpackaged | f | t | f | f |
> > | | PostGIS geometry and geography spatial types and functions
> > postgis | 3.6.0 | f | t | f | f |
> > | | PostGIS geometry and geography spatial types and functions
> > postgis | ANY | f | t | f | f |
> > | | PostGIS geometry and geography spatial types and functions
> >
More information about the postgis-devel
mailing list