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
DATABASE_PATH=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 <[email protected]>
*Sent:* Thursday, January 8, 2026 11:26 AM
*To:* Cedric Duprez <[email protected]>
*Cc:* [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]> 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