-> Seq Scan on prt2_m_p3 t2_3
(11 rows)
--- partitionwise join can not be applied between tables with different
--- partition lists
+-- partitionwise join can not be applied for a join between list and range
+-- partitioned tables
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 LEFT JOIN prt2_n t2 ON (t1.c = t2.c);
QUERY PLAN
-> Seq Scan on prt1_n_p2 t1_2
(9 rows)
+-- partitionwise join can not be applied between tables with different
+-- partition lists
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 JOIN prt2_n t2 ON (t1.c = t2.c) JOIN plt1 t3 ON (t1.c = t3.c);
QUERY PLAN
-> Seq Scan on prt1_n_p2 t1_2
(16 rows)
--- partitionwise join can not be applied for a join between list and range
--- partitioned tables
+-- partitionwise join can not be applied for a join between key column and
+-- non-key column
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 FULL JOIN prt1 t2 ON (t1.c = t2.c);
QUERY PLAN
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_m t1 LEFT JOIN prt2_m t2 ON t1.c = t2.c;
--- partitionwise join can not be applied between tables with different
--- partition lists
+-- partitionwise join can not be applied for a join between list and range
+-- partitioned tables
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 LEFT JOIN prt2_n t2 ON (t1.c = t2.c);
+
+-- partitionwise join can not be applied between tables with different
+-- partition lists
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 JOIN prt2_n t2 ON (t1.c = t2.c) JOIN plt1 t3 ON (t1.c = t3.c);
--- partitionwise join can not be applied for a join between list and range
--- partitioned tables
+-- partitionwise join can not be applied for a join between key column and
+-- non-key column
EXPLAIN (COSTS OFF)
SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 FULL JOIN prt1 t2 ON (t1.c = t2.c);