<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi list - </p>
    <p>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: <br>
      <i><b><br>
fdc_results.bygningskade_stormflod_rcp85_2100_t100_ssp3_7_0_20251119164 <br>
        </b></i><br>
      (Schema-name length: 11, table-name length: 59)</p>
    <p>I have tracked the issue using the log facility in QGIS. It
      shows, that QGIS intermittently executes a SQL command: </p>
    <p><i><b>SELECT
st_estimatedextent('fdc_results','bygningskade_stormflod_rcp85_2100_t100_ssp3_7_0_20251119164','geom')</b></i></p>
    <p>which results in an error: <b><span
style="color: rgb(34, 34, 34); font-family: "Source Code Pro", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: 0.14994px; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: pre-wrap; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">ERROR:  invalid name syntax</span></b></p>
    <p>If I change the table name to:</p>
    <p><i><b>fdc_results.bygningskade_stormflod_rcp85_2100_t100_ssp3_7_0 
           </b></i>(Schema-name length: 11, table-name length: 47) </p>
    <p>the error disappears. </p>
    <p>I've done some testing and could replicate the error (and
      non-error) situation in PGAdmin</p>
    <p>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:</p>
    <p>"BOX(716701.25 6167151,720533.9375 6174220)"</p>
    <p>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 <i><b></b></i>PostGIS st_estimatedextent<i><b>
        </b></i> function?? </p>
    <p>(It might be a coincidence but if you express the tablename like
      this : <i><b>"</b></i><i><b>fdc_results"."bygningskade_stormflod_rcp85_2100_t100_ssp3_7_0</b></i><i><b>", </b></i>the
      total length is 63) </p>
    <p>PostgreSQL version: "PostgreSQL 17.4 on x86_64-windows, compiled
      by msvc-19.42.34436, 64-bit"</p>
    <p>PostGIS version: "3.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1"</p>
    <pre class="moz-signature" cols="72">-- 
Med venlig hilsen / Best regards

Bo Victor Thomsen</pre>
  </body>
</html>