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