想象一下,我有以下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环境中完成这项工作。