我们使用旧的 GDAL 版本 (3.2.1) 将数据加载到 postgis 数据库 ogr2ogr。 正在自动生成空间索引, 似乎有一个逻辑可以避免重复的索引名称。
GDAL 3.2.1 示例:
对于具有名称的表
"ch059_liegenschaften_grundstueckpos_hilfslinien"
一个名为
"ch059_liegenschaften_grundstueckpos_hilfs_wkb_geometry_geom_idx"
得到了
已创建。
对于具有名称的表
"ch059_liegenschaften_grundstueckpos_hilfslinien_proj"
一个名为
"ch059_liegenschaften_grundstueckpos_hilfslinien_proj_wkb_geomet"
得到了
已创建。
GDAL 3.9.1 的示例: 对于具有名称的表
"ch059_liegenschaften_grundstueckpos_hilfslinien"
一个名为
"ch059_liegenschaften_grundstueckpos_hilfs_wkb_geometry_geom_idx"
得到了
创建。(相当于GDAL 3.2.1)
对于名称为
"ch059_liegenschaften_grundstueckpos_hilfslinien_proj"
它试图
创建一个名为 "ch059_liegenschaften_grundstueckpos_hilfs_wkb_geometry_geom_idx"
的索引
等于上表之一,因此在 postgres 中无效。
我知道postgres中的最大标识符长度是63字节 因此索引名称被删除。
但是为什么 GDAL 之间的索引命名会发生这种变化? 版本3.2.1和3.9.1?
我们不想降级到旧的GDAL版本,但是有办法吗 回到避免重复名称的旧命名系统?
谢谢并致以诚挚的问候
汉斯卡斯帕·弗雷
GDAL 项目有一个未解决的问题:https://github.com/OSGeo/gdal/issues/10522