Problem with ST_NRings

Marco Boeringa marco at boeringa.demon.nl
Tue Dec 2 11:19:38 PST 2025


If I change the CREATE MATERIALIZED VIEW to CREATE TABLE, exactly the 
same SQL statement succeeds... Both modes used to work. My current setup 
is PostgreSQL 18.1 / PostGIS 3.6.1.

Marco

Op 2-12-2025 om 19:57 schreef Marco Boeringa:
> Hi,
>
> As part of a larger workflow, I am using a custom PostgreSQL function 
> that depends on ST_NRings, and is used to create a MATERIALIZED VIEW.
>
> This has worked flawlessly until recently. I now ran into an issue 
> with the error message below. Going over my own code calling the 
> custom function that includes the ST_NRings call, I just cannot see 
> any recent code change made by myself explaining this sudden error. 
> This part of the code has been stable for quite a while.
>
> As input to the custom function, WGS1984 OpenStreetMap data is used, 
> stored as  'geometry' type. There are actually explicit type casts in 
> the code as well, so even that part of the error message I cannot 
> explain for now.
>
> My question: has there been any change to ST_NRings in a recent update 
> of PostGIS (3.6.0 or 3.6.1?), that might explain this error? E.g. 
> should the 'public' be in this error message at all, I would have 
> expected "ERROR:  function st_nrings(geometry) does not exist"?
>
> Marco
>
> ERROR:  function st_nrings(public.geometry) does not exist
> LINE 8:    WHEN ST_NRings($1) = 1 THEN $1
>                 ^
> HINT:  No function matches the given name and argument types. You 
> might need to add explicit type casts.
>


More information about the postgis-users mailing list