看上去here,很明显,Oracle支持与明确列出的方案并行执行DDL命令。我想知道Postgres是否确实提供这种功能?在PostgreSQL的“并行查询”中,我可以找到很多资料,但是在涉及DDL时,找不到很多。
例如,可以并行执行多个'CREATE TABLE...AS SELECT'
吗?如果没有,我如何实现这种功能?如果我有一个临时表(CREATE TEMP TABLE
),该怎么办?我需要配置一些锁吗?
来自here:
即使通常有可能生成并行查询计划,如果满足以下任一条件,计划程序也不会为给定查询生成它们:
- 查询写入任何数据或锁定任何数据库行。如果查询在顶层或内部包含数据修改操作CTE,将不会为该查询生成并行计划。
(我的重点)。
这似乎暗示Postgres在任何情况下都不会“并行化” DDL查询。