duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 1
-> Append
- -> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1 p1_1
+ -> Parallel Seq Scan on p1_c1 p1_2
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
(12 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 2
-> Parallel Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
(12 rows)
SET parallel_setup_cost to DEFAULT;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 8
-> Append
- -> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1 p1_1
+ -> Parallel Seq Scan on p1_c1 p1_2
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
(12 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 8
-> Parallel Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
(12 rows)
-- hinting on children doesn't work (changed as of pg_hint_plan 10)
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c2
- -> Seq Scan on p1_c3
- -> Seq Scan on p1_c4
- -> Seq Scan on p1_c1_c1
- -> Seq Scan on p1_c1_c2
- -> Seq Scan on p1_c3_c1
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c2 p1_3
+ -> Seq Scan on p1_c3 p1_4
+ -> Seq Scan on p1_c4 p1_5
+ -> Seq Scan on p1_c1_c1 p1_6
+ -> Seq Scan on p1_c1_c2 p1_7
+ -> Seq Scan on p1_c3_c1 p1_8
+ -> Seq Scan on p1_c3_c2 p1_9
(10 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c2
- -> Seq Scan on p1_c3
- -> Seq Scan on p1_c4
- -> Seq Scan on p1_c1_c1
- -> Seq Scan on p1_c1_c2
- -> Seq Scan on p1_c3_c1
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c2 p1_3
+ -> Seq Scan on p1_c3 p1_4
+ -> Seq Scan on p1_c4 p1_5
+ -> Seq Scan on p1_c1_c1 p1_6
+ -> Seq Scan on p1_c1_c2 p1_7
+ -> Seq Scan on p1_c3_c1 p1_8
+ -> Seq Scan on p1_c3_c2 p1_9
(10 rows)
-- Joins
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------
Gather
Workers Planned: 1
-> Parallel Hash Join
Hash Cond: (p1.id = p2.id)
-> Append
- -> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1 p1_1
+ -> Parallel Seq Scan on p1_c1 p1_2
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
-> Parallel Hash
-> Append
- -> Parallel Seq Scan on p2
- -> Parallel Seq Scan on p2_c1
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Parallel Seq Scan on p2 p2_1
+ -> Parallel Seq Scan on p2_c1 p2_2
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
(25 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------
Gather
Workers Planned: 2
-> Parallel Hash Join
Hash Cond: (p1.id = p2.id)
-> Parallel Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
-> Parallel Hash
-> Parallel Append
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
(25 rows)
SET enable_parallel_append to false;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------
Gather
Workers Planned: 1
-> Hash Join
Hash Cond: (p1.id = p2.id)
-> Append
- -> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1 p1_1
+ -> Parallel Seq Scan on p1_c1 p1_2
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
-> Hash
-> Append
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c2
- -> Seq Scan on p2_c3
- -> Seq Scan on p2_c4
- -> Seq Scan on p2_c1_c1
- -> Seq Scan on p2_c1_c2
- -> Seq Scan on p2_c3_c1
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c2 p2_3
+ -> Seq Scan on p2_c3 p2_4
+ -> Seq Scan on p2_c4 p2_5
+ -> Seq Scan on p2_c1_c1 p2_6
+ -> Seq Scan on p2_c1_c2 p2_7
+ -> Seq Scan on p2_c3_c1 p2_8
+ -> Seq Scan on p2_c3_c2 p2_9
(25 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------
Gather
Workers Planned: 2
-> Parallel Hash Join
- Hash Cond: (p1.id = p2_c2.id)
+ Hash Cond: (p1.id = p2.id)
-> Parallel Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
-> Parallel Hash
-> Parallel Append
- -> Seq Scan on p2_c2
- -> Seq Scan on p2_c4
- -> Seq Scan on p2_c1_c1
- -> Seq Scan on p2_c1_c2
- -> Seq Scan on p2_c3_c1
- -> Seq Scan on p2_c3_c2
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c3
+ -> Seq Scan on p2_c2 p2_3
+ -> Seq Scan on p2_c4 p2_5
+ -> Seq Scan on p2_c1_c1 p2_6
+ -> Seq Scan on p2_c1_c2 p2_7
+ -> Seq Scan on p2_c3_c1 p2_8
+ -> Seq Scan on p2_c3_c2 p2_9
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c3 p2_4
(25 rows)
SET parallel_setup_cost to DEFAULT;
duplication hint:
error hint:
- QUERY PLAN
-----------------------------------------
+ QUERY PLAN
+---------------------------------------------
Hash Join
Hash Cond: (p1.id = p2.id)
-> Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c2
- -> Seq Scan on p1_c3
- -> Seq Scan on p1_c4
- -> Seq Scan on p1_c1_c1
- -> Seq Scan on p1_c1_c2
- -> Seq Scan on p1_c3_c1
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c2 p1_3
+ -> Seq Scan on p1_c3 p1_4
+ -> Seq Scan on p1_c4 p1_5
+ -> Seq Scan on p1_c1_c1 p1_6
+ -> Seq Scan on p1_c1_c2 p1_7
+ -> Seq Scan on p1_c3_c1 p1_8
+ -> Seq Scan on p1_c3_c2 p1_9
-> Hash
-> Append
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c2
- -> Seq Scan on p2_c3
- -> Seq Scan on p2_c4
- -> Seq Scan on p2_c1_c1
- -> Seq Scan on p2_c1_c2
- -> Seq Scan on p2_c3_c1
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c2 p2_3
+ -> Seq Scan on p2_c3 p2_4
+ -> Seq Scan on p2_c4 p2_5
+ -> Seq Scan on p2_c1_c1 p2_6
+ -> Seq Scan on p2_c1_c2 p2_7
+ -> Seq Scan on p2_c3_c1 p2_8
+ -> Seq Scan on p2_c3_c2 p2_9
(23 rows)
/*+Parallel(p2 8 hard)*/
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------
Gather
Workers Planned: 8
-> Parallel Hash Join
Hash Cond: (p2.id = p1.id)
-> Parallel Append
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
-> Parallel Hash
-> Parallel Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
(25 rows)
-- Number of workers results to the largest number
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------
Gather
Workers Planned: 8
-> Parallel Hash Join
Hash Cond: (p1.id = p2.id)
-> Append
- -> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1 p1_1
+ -> Parallel Seq Scan on p1_c1 p1_2
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
-> Parallel Hash
-> Append
- -> Parallel Seq Scan on p2
- -> Parallel Seq Scan on p2_c1
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Parallel Seq Scan on p2 p2_1
+ -> Parallel Seq Scan on p2_c1 p2_2
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
(25 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------
Gather
Workers Planned: 8
-> Parallel Hash Join
Hash Cond: (p2.id = p1.id)
-> Parallel Append
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
-> Parallel Hash
-> Parallel Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
(25 rows)
-- Mixture with scan hints
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------------
Hash Join
Hash Cond: (p2.id = p1.id)
-> Append
- -> Index Scan using p2_id2_val on p2
- -> Index Scan using p2_c1_id2_val on p2_c1
- -> Index Scan using p2_c2_id2_val on p2_c2
- -> Index Scan using p2_c3_id_val_idx on p2_c3
- -> Index Scan using p2_c4_id_val_idx on p2_c4
- -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1
- -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2
- -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1
- -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2
+ -> Index Scan using p2_id2_val on p2 p2_1
+ -> Index Scan using p2_c1_id2_val on p2_c1 p2_2
+ -> Index Scan using p2_c2_id2_val on p2_c2 p2_3
+ -> Index Scan using p2_c3_id_val_idx on p2_c3 p2_4
+ -> Index Scan using p2_c4_id_val_idx on p2_c4 p2_5
+ -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1 p2_6
+ -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2 p2_7
+ -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1 p2_8
+ -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2 p2_9
-> Hash
-> Gather
Workers Planned: 8
-> Append
- -> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1 p1_1
+ -> Parallel Seq Scan on p1_c1 p1_2
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
(25 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------------
Hash Join
Hash Cond: (p2.id = p1.id)
-> Append
- -> Index Scan using p2_id2_val on p2
- -> Index Scan using p2_c1_id2_val on p2_c1
- -> Index Scan using p2_c2_id2_val on p2_c2
- -> Index Scan using p2_c3_id_val_idx on p2_c3
- -> Index Scan using p2_c4_id_val_idx on p2_c4
- -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1
- -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2
- -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1
- -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2
+ -> Index Scan using p2_id2_val on p2 p2_1
+ -> Index Scan using p2_c1_id2_val on p2_c1 p2_2
+ -> Index Scan using p2_c2_id2_val on p2_c2 p2_3
+ -> Index Scan using p2_c3_id_val_idx on p2_c3 p2_4
+ -> Index Scan using p2_c4_id_val_idx on p2_c4 p2_5
+ -> Index Scan using p2_c1_c1_id_val_idx on p2_c1_c1 p2_6
+ -> Index Scan using p2_c1_c2_id_val_idx on p2_c1_c2 p2_7
+ -> Index Scan using p2_c3_c1_id_val_idx on p2_c3_c1 p2_8
+ -> Index Scan using p2_c3_c2_id_val_idx on p2_c3_c2 p2_9
-> Hash
-> Gather
Workers Planned: 8
-> Parallel Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
(25 rows)
-- Parallel sequential scan
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------
Gather
Workers Planned: 8
-> Parallel Hash Join
Hash Cond: (p1.id = p2.id)
-> Append
- -> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1 p1_1
+ -> Parallel Seq Scan on p1_c1 p1_2
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
-> Parallel Hash
-> Append
- -> Parallel Seq Scan on p2
- -> Parallel Seq Scan on p2_c1
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Parallel Seq Scan on p2 p2_1
+ -> Parallel Seq Scan on p2_c1 p2_2
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
(25 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------------------
+ QUERY PLAN
+------------------------------------------------------------
Gather
Workers Planned: 8
-> Parallel Hash Join
Hash Cond: (p1.id = p2.id)
-> Parallel Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c3 p1_4
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
-> Parallel Hash
-> Parallel Append
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
(25 rows)
-- Parallel index scan
duplication hint:
error hint:
- QUERY PLAN
------------------------------------------------------------------------
+ QUERY PLAN
+----------------------------------------------------------------------------
Gather
Workers Planned: 8
-> Parallel Hash Join
Hash Cond: (p1.id = p2.id)
-> Append
- -> Parallel Index Scan using p1_pkey on p1
- -> Parallel Index Scan using p1_c1_pkey on p1_c1
- -> Parallel Index Scan using p1_c2_pkey on p1_c2
- -> Parallel Index Scan using p1_c3_pkey on p1_c3
- -> Parallel Index Scan using p1_c4_pkey on p1_c4
- -> Parallel Index Scan using p1_c1_c1_pkey on p1_c1_c1
- -> Parallel Index Scan using p1_c1_c2_pkey on p1_c1_c2
- -> Parallel Index Scan using p1_c3_c1_pkey on p1_c3_c1
- -> Parallel Index Scan using p1_c3_c2_pkey on p1_c3_c2
+ -> Parallel Index Scan using p1_pkey on p1 p1_1
+ -> Parallel Index Scan using p1_c1_pkey on p1_c1 p1_2
+ -> Parallel Index Scan using p1_c2_pkey on p1_c2 p1_3
+ -> Parallel Index Scan using p1_c3_pkey on p1_c3 p1_4
+ -> Parallel Index Scan using p1_c4_pkey on p1_c4 p1_5
+ -> Parallel Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1_6
+ -> Parallel Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1_7
+ -> Parallel Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1_8
+ -> Parallel Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1_9
-> Parallel Hash
-> Append
- -> Parallel Seq Scan on p2
- -> Parallel Seq Scan on p2_c1
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Parallel Seq Scan on p2 p2_1
+ -> Parallel Seq Scan on p2_c1 p2_2
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
(25 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
------------------------------------------------------------------------
+ QUERY PLAN
+----------------------------------------------------------------------------
Gather
Workers Planned: 8
-> Parallel Hash Join
Hash Cond: (p1.id = p2.id)
-> Parallel Append
- -> Parallel Index Scan using p1_pkey on p1
- -> Parallel Index Scan using p1_c1_pkey on p1_c1
- -> Parallel Index Scan using p1_c2_pkey on p1_c2
- -> Parallel Index Scan using p1_c3_pkey on p1_c3
- -> Parallel Index Scan using p1_c4_pkey on p1_c4
- -> Parallel Index Scan using p1_c1_c1_pkey on p1_c1_c1
- -> Parallel Index Scan using p1_c1_c2_pkey on p1_c1_c2
- -> Parallel Index Scan using p1_c3_c1_pkey on p1_c3_c1
- -> Parallel Index Scan using p1_c3_c2_pkey on p1_c3_c2
+ -> Parallel Index Scan using p1_pkey on p1 p1_1
+ -> Parallel Index Scan using p1_c1_pkey on p1_c1 p1_2
+ -> Parallel Index Scan using p1_c2_pkey on p1_c2 p1_3
+ -> Parallel Index Scan using p1_c3_pkey on p1_c3 p1_4
+ -> Parallel Index Scan using p1_c4_pkey on p1_c4 p1_5
+ -> Parallel Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1_6
+ -> Parallel Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1_7
+ -> Parallel Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1_8
+ -> Parallel Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1_9
-> Parallel Hash
-> Parallel Append
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c3
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c3 p2_4
+ -> Parallel Seq Scan on p2_c2 p2_3
+ -> Parallel Seq Scan on p2_c4 p2_5
+ -> Parallel Seq Scan on p2_c1_c1 p2_6
+ -> Parallel Seq Scan on p2_c1_c2 p2_7
+ -> Parallel Seq Scan on p2_c3_c1 p2_8
+ -> Parallel Seq Scan on p2_c3_c2 p2_9
(25 rows)
-- This hint doesn't turn on parallel, so the Parallel hint is ignored
duplication hint:
error hint:
- QUERY PLAN
---------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------
Hash Join
Hash Cond: (p1.id = p2.id)
-> Append
- -> Index Scan using p1_pkey on p1
- -> Index Scan using p1_c1_pkey on p1_c1
- -> Index Scan using p1_c2_pkey on p1_c2
- -> Index Scan using p1_c3_pkey on p1_c3
- -> Index Scan using p1_c4_pkey on p1_c4
- -> Index Scan using p1_c1_c1_pkey on p1_c1_c1
- -> Index Scan using p1_c1_c2_pkey on p1_c1_c2
- -> Index Scan using p1_c3_c1_pkey on p1_c3_c1
- -> Index Scan using p1_c3_c2_pkey on p1_c3_c2
+ -> Index Scan using p1_pkey on p1 p1_1
+ -> Index Scan using p1_c1_pkey on p1_c1 p1_2
+ -> Index Scan using p1_c2_pkey on p1_c2 p1_3
+ -> Index Scan using p1_c3_pkey on p1_c3 p1_4
+ -> Index Scan using p1_c4_pkey on p1_c4 p1_5
+ -> Index Scan using p1_c1_c1_pkey on p1_c1_c1 p1_6
+ -> Index Scan using p1_c1_c2_pkey on p1_c1_c2 p1_7
+ -> Index Scan using p1_c3_c1_pkey on p1_c3_c1 p1_8
+ -> Index Scan using p1_c3_c2_pkey on p1_c3_c2 p1_9
-> Hash
-> Append
- -> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c2
- -> Seq Scan on p2_c3
- -> Seq Scan on p2_c4
- -> Seq Scan on p2_c1_c1
- -> Seq Scan on p2_c1_c2
- -> Seq Scan on p2_c3_c1
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2 p2_1
+ -> Seq Scan on p2_c1 p2_2
+ -> Seq Scan on p2_c2 p2_3
+ -> Seq Scan on p2_c3 p2_4
+ -> Seq Scan on p2_c4 p2_5
+ -> Seq Scan on p2_c1_c1 p2_6
+ -> Seq Scan on p2_c1_c2 p2_7
+ -> Seq Scan on p2_c3_c1 p2_8
+ -> Seq Scan on p2_c3_c2 p2_9
(23 rows)
-- Parallel on UNION
EXPLAIN (COSTS false) SELECT id FROM p1 UNION ALL SELECT id FROM p2;
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
-> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c2
- -> Seq Scan on p1_c3
- -> Seq Scan on p1_c4
- -> Seq Scan on p1_c1_c1
- -> Seq Scan on p1_c1_c2
- -> Seq Scan on p1_c3_c1
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1_c1 p1_1
+ -> Seq Scan on p1_c2 p1_2
+ -> Seq Scan on p1_c3 p1_3
+ -> Seq Scan on p1_c4 p1_4
+ -> Seq Scan on p1_c1_c1 p1_5
+ -> Seq Scan on p1_c1_c2 p1_6
+ -> Seq Scan on p1_c3_c1 p1_7
+ -> Seq Scan on p1_c3_c2 p1_8
-> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c2
- -> Seq Scan on p2_c3
- -> Seq Scan on p2_c4
- -> Seq Scan on p2_c1_c1
- -> Seq Scan on p2_c1_c2
- -> Seq Scan on p2_c3_c1
- -> Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c1 p2_1
+ -> Seq Scan on p2_c2 p2_2
+ -> Seq Scan on p2_c3 p2_3
+ -> Seq Scan on p2_c4 p2_4
+ -> Seq Scan on p2_c1_c1 p2_5
+ -> Seq Scan on p2_c1_c2 p2_6
+ -> Seq Scan on p2_c3_c1 p2_7
+ -> Seq Scan on p2_c3_c2 p2_8
(19 rows)
-- parallel hinting on any relation enables parallel
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 1
-> Parallel Append
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Parallel Seq Scan on p2_c2 p2_2
+ -> Parallel Seq Scan on p2_c4 p2_4
+ -> Parallel Seq Scan on p2_c1_c1 p2_5
+ -> Parallel Seq Scan on p2_c1_c2 p2_6
+ -> Parallel Seq Scan on p2_c3_c1 p2_7
+ -> Parallel Seq Scan on p2_c3_c2 p2_8
-> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c3
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1_c1 p1_1
+ -> Parallel Seq Scan on p1_c2 p1_2
+ -> Parallel Seq Scan on p1_c3 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_4
+ -> Parallel Seq Scan on p1_c1_c1 p1_5
+ -> Parallel Seq Scan on p1_c1_c2 p1_6
+ -> Parallel Seq Scan on p1_c3_c1 p1_7
+ -> Parallel Seq Scan on p1_c3_c2 p1_8
-> Parallel Seq Scan on p2
- -> Parallel Seq Scan on p2_c1
- -> Parallel Seq Scan on p2_c3
+ -> Parallel Seq Scan on p2_c1 p2_1
+ -> Parallel Seq Scan on p2_c3 p2_3
(21 rows)
-- set hint has the same effect
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 1
-> Parallel Append
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Parallel Seq Scan on p1_c2 p1_2
+ -> Parallel Seq Scan on p1_c4 p1_4
+ -> Parallel Seq Scan on p2_c2 p2_2
+ -> Parallel Seq Scan on p2_c4 p2_4
+ -> Parallel Seq Scan on p1_c1_c1 p1_5
+ -> Parallel Seq Scan on p1_c1_c2 p1_6
+ -> Parallel Seq Scan on p1_c3_c1 p1_7
+ -> Parallel Seq Scan on p1_c3_c2 p1_8
+ -> Parallel Seq Scan on p2_c1_c1 p2_5
+ -> Parallel Seq Scan on p2_c1_c2 p2_6
+ -> Parallel Seq Scan on p2_c3_c1 p2_7
+ -> Parallel Seq Scan on p2_c3_c2 p2_8
-> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c3
+ -> Parallel Seq Scan on p1_c1 p1_1
+ -> Parallel Seq Scan on p1_c3 p1_3
-> Parallel Seq Scan on p2
- -> Parallel Seq Scan on p2_c1
- -> Parallel Seq Scan on p2_c3
+ -> Parallel Seq Scan on p2_c1 p2_1
+ -> Parallel Seq Scan on p2_c3 p2_3
(21 rows)
-- applies largest number of workers on merged parallel paths
duplication hint:
error hint:
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 6
-> Parallel Append
-> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c1 p1_1
+ -> Seq Scan on p1_c3 p1_3
-> Seq Scan on p2
- -> Seq Scan on p2_c1
- -> Seq Scan on p2_c3
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Seq Scan on p2_c1 p2_1
+ -> Seq Scan on p2_c3 p2_3
+ -> Parallel Seq Scan on p1_c2 p1_2
+ -> Parallel Seq Scan on p1_c4 p1_4
+ -> Parallel Seq Scan on p1_c1_c1 p1_5
+ -> Parallel Seq Scan on p1_c1_c2 p1_6
+ -> Parallel Seq Scan on p1_c3_c1 p1_7
+ -> Parallel Seq Scan on p1_c3_c2 p1_8
+ -> Parallel Seq Scan on p2_c2 p2_2
+ -> Parallel Seq Scan on p2_c4 p2_4
+ -> Parallel Seq Scan on p2_c1_c1 p2_5
+ -> Parallel Seq Scan on p2_c1_c2 p2_6
+ -> Parallel Seq Scan on p2_c3_c1 p2_7
+ -> Parallel Seq Scan on p2_c3_c2 p2_8
(21 rows)
-- Negative hints
SET min_parallel_index_scan_size to 0;
SET max_parallel_workers_per_gather to 5;
EXPLAIN (COSTS false) SELECT * FROM p1;
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 4
-> Parallel Append
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
- -> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c3
+ -> Parallel Seq Scan on p1_c2 p1_3
+ -> Parallel Seq Scan on p1_c4 p1_5
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
+ -> Parallel Seq Scan on p1 p1_1
+ -> Parallel Seq Scan on p1_c1 p1_2
+ -> Parallel Seq Scan on p1_c3 p1_4
(12 rows)
SET enable_parallel_append to false;
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c2
- -> Seq Scan on p1_c3
- -> Seq Scan on p1_c4
- -> Seq Scan on p1_c1_c1
- -> Seq Scan on p1_c1_c2
- -> Seq Scan on p1_c3_c1
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c2 p1_3
+ -> Seq Scan on p1_c3 p1_4
+ -> Seq Scan on p1_c4 p1_5
+ -> Seq Scan on p1_c1_c1 p1_6
+ -> Seq Scan on p1_c1_c2 p1_7
+ -> Seq Scan on p1_c3_c1 p1_8
+ -> Seq Scan on p1_c3_c2 p1_9
(10 rows)
SET enable_parallel_append to true;
duplication hint:
error hint:
- QUERY PLAN
-----------------------------
+ QUERY PLAN
+---------------------------------
Append
- -> Seq Scan on p1
- -> Seq Scan on p1_c1
- -> Seq Scan on p1_c2
- -> Seq Scan on p1_c3
- -> Seq Scan on p1_c4
- -> Seq Scan on p1_c1_c1
- -> Seq Scan on p1_c1_c2
- -> Seq Scan on p1_c3_c1
- -> Seq Scan on p1_c3_c2
+ -> Seq Scan on p1 p1_1
+ -> Seq Scan on p1_c1 p1_2
+ -> Seq Scan on p1_c2 p1_3
+ -> Seq Scan on p1_c3 p1_4
+ -> Seq Scan on p1_c4 p1_5
+ -> Seq Scan on p1_c1_c1 p1_6
+ -> Seq Scan on p1_c1_c2 p1_7
+ -> Seq Scan on p1_c3_c1 p1_8
+ -> Seq Scan on p1_c3_c2 p1_9
(10 rows)
-- Errors
Parallel()
Parallel()
- QUERY PLAN
--------------------------------------------
+ QUERY PLAN
+------------------------------------------------
Gather
Workers Planned: 1
-> Parallel Append
- -> Parallel Seq Scan on p1_c2
- -> Parallel Seq Scan on p1_c4
- -> Parallel Seq Scan on p2_c2
- -> Parallel Seq Scan on p2_c4
- -> Parallel Seq Scan on p1_c1_c1
- -> Parallel Seq Scan on p1_c1_c2
- -> Parallel Seq Scan on p1_c3_c1
- -> Parallel Seq Scan on p1_c3_c2
- -> Parallel Seq Scan on p2_c1_c1
- -> Parallel Seq Scan on p2_c1_c2
- -> Parallel Seq Scan on p2_c3_c1
- -> Parallel Seq Scan on p2_c3_c2
+ -> Parallel Seq Scan on p1_c2 p1_2
+ -> Parallel Seq Scan on p1_c4 p1_4
+ -> Parallel Seq Scan on p2_c2 p2_2
+ -> Parallel Seq Scan on p2_c4 p2_4
+ -> Parallel Seq Scan on p1_c1_c1 p1_5
+ -> Parallel Seq Scan on p1_c1_c2 p1_6
+ -> Parallel Seq Scan on p1_c3_c1 p1_7
+ -> Parallel Seq Scan on p1_c3_c2 p1_8
+ -> Parallel Seq Scan on p2_c1_c1 p2_5
+ -> Parallel Seq Scan on p2_c1_c2 p2_6
+ -> Parallel Seq Scan on p2_c3_c1 p2_7
+ -> Parallel Seq Scan on p2_c3_c2 p2_8
-> Parallel Seq Scan on p1
- -> Parallel Seq Scan on p1_c1
- -> Parallel Seq Scan on p1_c3
+ -> Parallel Seq Scan on p1_c1 p1_1
+ -> Parallel Seq Scan on p1_c3 p1_3
-> Parallel Seq Scan on p2
- -> Parallel Seq Scan on p2_c1
- -> Parallel Seq Scan on p2_c3
+ -> Parallel Seq Scan on p2_c1 p2_1
+ -> Parallel Seq Scan on p2_c3 p2_3
(21 rows)
-- Hints on unhintable relations are just ignored
-> Gather
Workers Planned: 5
-> Parallel Append
- -> Seq Scan on p1
+ -> Seq Scan on p1 p1_1
Filter: ((id % 2) = 0)
- -> Seq Scan on p1_c1
+ -> Seq Scan on p1_c1 p1_2
Filter: ((id % 2) = 0)
- -> Seq Scan on p1_c3
+ -> Seq Scan on p1_c3 p1_4
Filter: ((id % 2) = 0)
- -> Parallel Seq Scan on p1_c2
+ -> Parallel Seq Scan on p1_c2 p1_3
Filter: ((id % 2) = 0)
- -> Parallel Seq Scan on p1_c4
+ -> Parallel Seq Scan on p1_c4 p1_5
Filter: ((id % 2) = 0)
- -> Parallel Seq Scan on p1_c1_c1
+ -> Parallel Seq Scan on p1_c1_c1 p1_6
Filter: ((id % 2) = 0)
- -> Parallel Seq Scan on p1_c1_c2
+ -> Parallel Seq Scan on p1_c1_c2 p1_7
Filter: ((id % 2) = 0)
- -> Parallel Seq Scan on p1_c3_c1
+ -> Parallel Seq Scan on p1_c3_c1 p1_8
Filter: ((id % 2) = 0)
- -> Parallel Seq Scan on p1_c3_c2
+ -> Parallel Seq Scan on p1_c3_c2 p1_9
Filter: ((id % 2) = 0)
-> Function Scan on pg_stat_statements
-> Subquery Scan on "*SELECT* 5"