我有一个包含2900万行的大型PostgreSQL表格。根据pgAdmin中的统计标签显示,该表的大小几乎为9GB。该表启用了post-gis,并有一个空的几何列。
我想使用ST_GeomFromText更新几何列,读取存储在同一表格中的X和Y坐标列(SRID: 27700)。然而,在整个表格上运行此查询会导致“磁盘空间不足”和“与服务器的连接丢失”的错误......后者出现的频率较低。
为了解决这个问题,我应该分批/分阶段更新这2900万行吗?如何对前100万行进行操作,然后继续对下一百万行进行操作,直到达到2900万?
或者还有其他更有效的方法来更新像这样的大型表格吗?
我应该补充说明,该表格托管在AWS上。
我的更新查询语句是:
我想使用ST_GeomFromText更新几何列,读取存储在同一表格中的X和Y坐标列(SRID: 27700)。然而,在整个表格上运行此查询会导致“磁盘空间不足”和“与服务器的连接丢失”的错误......后者出现的频率较低。
为了解决这个问题,我应该分批/分阶段更新这2900万行吗?如何对前100万行进行操作,然后继续对下一百万行进行操作,直到达到2900万?
或者还有其他更有效的方法来更新像这样的大型表格吗?
我应该补充说明,该表格托管在AWS上。
我的更新查询语句是:
UPDATE schema.table
SET geom = ST_GeomFromText('POINT(' || eastingcolumn || ' ' || northingcolumn || ')',27700);