1

We used an old GDAL Version (3.2.1) to load data to a postgis db with ogr2ogr. There was an automatic spatial index generation taking place, which seemed to have a logic to avoid duplicated index names.

Examples with GDAL 3.2.1:

For a table with the name "ch059_liegenschaften_grundstueckpos_hilfslinien" a index named "ch059_liegenschaften_grundstueckpos_hilfs_wkb_geometry_geom_idx" got created.

For a table with the name "ch059_liegenschaften_grundstueckpos_hilfslinien_proj" a index named "ch059_liegenschaften_grundstueckpos_hilfslinien_proj_wkb_geomet" got created.

Examples with GDAL 3.9.1: For a table with the name "ch059_liegenschaften_grundstueckpos_hilfslinien" a index named "ch059_liegenschaften_grundstueckpos_hilfs_wkb_geometry_geom_idx" got created.(equal like GDAL 3.2.1)

For a table with the name "ch059_liegenschaften_grundstueckpos_hilfslinien_proj" it tries to create an index named "ch059_liegenschaften_grundstueckpos_hilfs_wkb_geometry_geom_idx" which is equal to the one of the table above and therefore not valid in postgres.

I am aware that the the maximum identifier length in postgres is 63 Bytes and therefore the index names get cutted.

But why is this change in the index naming happening between GDAL Version 3.2.1 and 3.9.1?

We don't want to downgrade to the old GDAL Version, but Is there a way to go back to the old naming system which avoided duplicated names?

Thanks and best regards

Hanskaspar Frei

1 Answer 1

2

There is an open Issue on the GDAL Project: https://github.com/OSGeo/gdal/issues/10522

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.