我正在将大约 300GB 的等高线数据加载到 postgis 表中。为了加快这个过程,我读到首先加载数据是最快的,然后创建一个索引。加载数据只用了大约2天,但现在我已经等待索引大约30天了,它仍然没有准备好。
查询是:
create index idx_contour_geom on contour.contour using gist(geom);
我在 pgadmin4 中运行它,此后程序的内存消耗从 500MB 到 100GB++ 不等。
索引这样的数据库用这么长的时间正常吗?
关于如何加快该过程的任何提示?
编辑: 数据是从 1x1 度(纬度/经度)像元(大约 30.000 个像元)加载的,因此没有一条线的边界框大于 1x1 度,那么大部分应该小得多。它们采用 EPSG:4326 投影,唯一的属性是高度和几何形状 (geom)。
最佳答案
我将 maintenance_work_mem
更改为 1GB 并停止了所有其他写入磁盘的操作(许多插入操作附加了 ANALYZE,这占用了大量资源)。我现在跑了 23 分钟。
关于postgresql - 300GB Postgis 表的缓慢索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44046520/