根据https://www.postgresql.org/docs/current/static/when-can-parallel-query-be-used.html,
“即使并行查询计划通常也是如此 如果生成,计划程序将不会为给定的查询生成它们 以下是真实的: 查询会写入任何数据或锁定任何数据库行。如果查询包含顶级或内部的数据修改操作 CTE,不会生成该查询的并行计划。这是一个 当前实施的限制可以解除 未来发布。“
确实,当我尝试将并行 SELECT
查询的结果插入表格时(通过 SELECT.. INTO
或 WITH..SELECT..INTO
),查询不会作为并行查询执行。
我的问题是:有没有办法欺骗Postgresql,以便 SELECT
查询作为并行查询执行,然后将其结果插入一张桌子?
答案 0 :(得分:0)
psql -o参数有一个技巧。
即
<强>步骤1:强>
seek()
<强>步骤2:强>
call psql -h localhost -d dbname -U username -c "select * from vw_FBigTable_extract" -o FBigTable_extract.csv -A -t -F ","
有时比非并行方法更快地工作。