如何在PostgreSQL中并行化ST_Union(geom)GROUP BY X语句

时间:2017-10-11 22:02:33

标签: postgresql postgis

想象一下,我有以下PostgreSQL表。

state         county        county_geom
Arizona       Pima          SRID=4326;MULTIPOLYGON(((40.9834..))
Arizona       Cochise       SRID=4326;MULTIPOLYGON(((40.9834..))
Wisconsin     Dane          SRID=4326;MULTIPOLYGON(((40.9834..))
Wisconsin     Sauk          SRID=4326;MULTIPOLYGON(((40.9834..))

我想创建一个新表,其中包含每个州的每个县的几何的联合。适当的SQL语句如下。

CREATE TABLE NewTable AS SELECT state, ST_Union(county_geom) AS state_geom FROM MyTable GROUP BY state;

我希望这个过程可以并行化,以便一个状态(例如,Arizona)在一个节点/核心/工作者上联合,而其他状态(例如,威斯康星州)在其他节点/核心/工作者上联合。

blog link表示当前无法并行化聚合函数ST_Union。但是,我不认为聚合函数需要并行运行,因此需要分配不同的组(例如,状态)。

是否有一个参数可以添加到上面的语句中以使其并行运行,或者是否有完全不同的上述语句可以并行工作?

编辑:我不是在寻找一种涉及使用外部脚本语言(例如python)来并行化流程的解决方案。我已经知道怎么做了。我正在尝试在PostgreSQL环境中完成这项工作。

0 个答案:

没有答案