PostgreSQL 是否并行查询分区?

Does PostgreSQL query partitions in parallel?

Postgres 现在有并行查询。当 table 分区时使用并行查询,查询在主 table 上,并且涉及多个分区(子 tables)。

例如,我按一天中的小时进行分区。然后我想在一个多小时内统计一类事件。聚合可以在每个分区上进行,最后将结果相加。

另一种方法是在分区(子 tables)之间使用联合。在这种情况下,Postgres 会并行执行。

不,不并行查询分区。此时 (9.6) 只有 table 扫描使用并行执行。 table 被分配给可用的 worker,每个 worker 扫描 table 的一部分。最后,主要工作人员合并部分结果。

这样做的副作用是当启用并行查询执行时,优化器更有可能选择完整 table 扫描。

据我所知,没有基于分区(或联合所有)并行执行的计划。添加此内容的建议已添加 here

编辑:我原来的回答是错误的。此答案已完全修改。