Cedric,
Good news. I was able to replicate. I noticed in your output you have the fully qualified type name, which means you don’t have postgis schema in your search path. To replicate I did: set search_path='pg_catalog'; SELECT 'POINT EMPTY'::public.geometry = 'POINT EMPTY'::public.geometry; Gives: ERROR: operator is not unique: public.geometry = public.geometry LINE 1: SELECT 'POINT EMPTY'::public.geometry = 'POINT EMPTY'::publi... ^ So I’m guessing we have some code in our = path that is not schema qualified. I’ve ticketed the issue here: https://trac.osgeo.org/postgis/ticket/6033 Paul, Can you confirm you can replicate by changing your search_path? From: Cedric Duprez <[email protected]> Sent: Thursday, January 8, 2026 12:05 PM To: Regina Obe <[email protected]>; 'Paul Ramsey' <[email protected]> Cc: [email protected] Subject: Re: PostGIS 3.6.1 - ERROR: operator is not unique: public.geometry = public.geometry I get two lines with the following query: SELECT oprcode, oprleft::regtype, oprright::regtype FROM pg_catalog.pg_operator WHERE oprname = '=' AND oprleft::regtype::text IN('public.geometry', 'public.geography') ORDER BY oprleft, oprright; Query result: oprcode |oprleft |oprright -------------------+----------------+---------------- public.geometry_eq |public.geometry |public.geometry public.geography_eq|public.geography|public.geography Extensions are : extname |extversion ------------------+---------- plpgsql |1.0 ogr_fdw |1.1 plr |8.4.8.2 pg_stat_statements|1.11 pgcrypto |1.3 tablefunc |1.0 postgis_raster |3.6.1 postgis |3.6.1 Le 08/01/2026 à 17:58, Regina Obe a écrit : I can’t replicate on my PostgreSQL 17.7 either even with upgrading from PostGIS 3.5.3 to 3.6.1 PostgreSQL 17.7 on x86_64-windows, compiled by msvc-19.44.35221, 64-bit POSTGIS="3.6.1 3.6.1" [EXTENSION] PGSQL="170" GEOS="3.14.1-CAPI-1.20.5" PROJ="8.2.1 NETWORK_ENABLED=OFF URL_ENDPOINT=https://cdn.proj.org USER_WRITABLE_DIRECTORY=C:\Windows\ServiceProfiles\NetworkService\AppData\Local/proj <file:///C:/Windows/ServiceProfiles/NetworkService/AppData/Local/proj> DATABASE_PATH=C:\Program <file:///C:/Program> Files\PostgreSQL\18\share\contrib\postgis-3.6\proj\proj.db" (compiled against PROJ 8.2.1) LIBXML="2.12.5" LIBJSON="0.12" LIBPROTOBUF="1.2.1" WAGYU="0.5.0 (Internal)" Perhaps you are having a conflict with another extension or it’s issue with upgrade from earlier. I recall we did have to fix an issue with = Can you show what the below queries output: SELECT oprcode, oprleft::regtype, oprright::regtype FROM pg_catalog.pg_operator WHERE oprname = '=' AND oprleft::regtype::text IN('geometry', 'geography') ORDER BY oprleft, oprright; Should be: oprcode | oprleft | oprright --------------+-----------+----------- geometry_eq | geometry | geometry geography_eq | geography | geography (2 rows) SELECT extname, extversion FROM pg_catalog.pg_extension; From: Paul Ramsey via postgis-users <mailto:[email protected]> <[email protected]> Sent: Thursday, January 8, 2026 11:26 AM To: Cedric Duprez <mailto:[email protected]> <[email protected]> Cc: [email protected] <mailto:[email protected]> Subject: Re: PostGIS 3.6.1 - ERROR: operator is not unique: public.geometry = public.geometry This is odd, I am not able to replicate... -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- POSTGIS="3.6.1dev 3.6.0-6-gdb18a9a49" PGSQL="180" GEOS="3.15.0dev-CAPI-1.21.0" PROJ="9.3.0 NETWORK_ENABLED=ON URL_ENDPOINT=https://cdn.proj.org USER_WRITABLE_DIRECTORY=/Users/pramsey/Library/Application Support/proj DATABASE_PATH=/usr/local/share/proj/proj.db" (compiled against PROJ 9.3.0) LIBXML="2.9.13" LIBJSON="0.17" LIBPROTOBUF="1.4.1" WAGYU="0.5.0 (Internal)" (1 row) postgis_reg=# SELECT 'POINT EMPTY'::public.geometry = 'POINT EMPTY'::public.geometry; ?column? ---------- t (1 row) Is this a database that has gone through upgrade stages, or a blank fresh database? P On Thu, Jan 8, 2026 at 8:21 AM Cedric Duprez <[email protected] <mailto:[email protected]> > wrote: Hi all, I'm facing a potential bug with PostGIS 3.6.1 on PostgreSQL 17.7. Here is what I get with postgis_full_version() : POSTGIS="3.6.1 f533623" [EXTENSION] PGSQL="170" GEOS="3.12.1-CAPI-1.18.1" PROJ="9.4.0 NETWORK_ENABLED=OFF URL_ENDPOINT=https://cdn.proj.org USER_WRITABLE_DIRECTORY=/tmp/proj DATABASE_PATH=/usr/share/proj/proj.db" (compiled against PROJ 9.4.0) GDAL="GDAL 3.8.4, released 2024/02/08" LIBXML="2.9.14" LIBJSON="0.17" LIBPROTOBUF="1.4.1" WAGYU="0.5.0 (Internal)" RASTER When I execute this query: SELECT 'POINT EMPTY'::public.geometry = 'POINT EMPTY'::public.geometry; I get the following error: ERROR: operator is not unique: public.geometry = public.geometry It seems to be a regression, since I didn't have this error on previous versions of PostGIS (3.5). How can this problem be solved? Thanks in advance for you help, Cedric
