Hi Paul -
And thank /you/ for the very quick answer ! I followed you advice and
upgraded to PostGIS 3.5.3. And lo and behold: It worked !!
(And I'm sorry for /not/ looking in PostGIS bug-tracker before blasting
out unnecessary mails to the list - and wasting your time) .
Med venlig hilsen / Best regards
Bo Victor Thomsen
On 19/11/2025 19.36, Paul Ramsey wrote:
I cannot replicate this bug on my PostGIS 3.5.5dev environment,
probably because the issue is already fixed as of 3.5.3
https://github.com/postgis/postgis/blob/stable-3.5/NEWS#L66
https://trac.osgeo.org/postgis/ticket/5819
I think you probably need a maintenance upgrade.
ATB,
P
On Wed, Nov 19, 2025 at 9:21 AM Bo Victor Thomsen
<[email protected]> wrote:
Hi list -
I'm using Postgres/Postgis as a data repository for QGIS - and it
normally just works.. However I'm getting errors with tables
having long names, for example:
/*
fdc_results.bygningskade_stormflod_rcp85_2100_t100_ssp3_7_0_20251119164
*/
(Schema-name length: 11, table-name length: 59)
I have tracked the issue using the log facility in QGIS. It shows,
that QGIS intermittently executes a SQL command:
/*SELECT
st_estimatedextent('fdc_results','bygningskade_stormflod_rcp85_2100_t100_ssp3_7_0_20251119164','geom')*/
which results in an error: *ERROR: invalid name syntax*
If I change the table name to:
/*fdc_results.bygningskade_stormflod_rcp85_2100_t100_ssp3_7_0
*/(Schema-name length: 11, table-name length: 47)
the error disappears.
I've done some testing and could replicate the error (and
non-error) situation in PGAdmin
Further testing shows that if the sum of the character lengths of
the schema- and table-name is larger than 58 the function will
stop with an error. Otherwise it returns a result like:
"BOX(716701.25 6167151,720533.9375 6174220)"
It's my understanding, that the maximum length of a tablename in
PostgreSQL is 63. This same limit applies for every type of
identifier in Postgres. Am I wrong to assume this? Or is there an
issue with name lengths in
the PostGIS st_estimatedextent/**/ function??
(It might be a coincidence but if you express the tablename like
this :
/*"*//*fdc_results"."bygningskade_stormflod_rcp85_2100_t100_ssp3_7_0*//*",
*/the total length is 63)
PostgreSQL version: "PostgreSQL 17.4 on x86_64-windows, compiled
by msvc-19.42.34436, 64-bit"
PostGIS version: "3.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1"
--
Med venlig hilsen / Best regards
Bo Victor Thomsen