Rajkumar Raghuwanshi <rajkumar.raghuwan...@enterprisedb.com> writes: > I am getting a server crash for below test case.
> postgres=# CREATE TABLE test( c1 int, c2 int, c3 text) partition by > range(c1); > CREATE TABLE > postgres=# create table test_p1 partition of test for values from > (minvalue) to (0); > CREATE TABLE > postgres=# create table test_p2 partition of test for values from (0) to > (maxvalue); > CREATE TABLE > postgres=# > postgres=# select (select max((select t1.c2 from test t1 where t1.c1 = > t2.c1))) from test t2; > server closed the connection unexpectedly Reproduced here. The assert seems to be happening because add_paths_to_append_rel is trying to create a parallel path for an appendrel that is marked consider_parallel = false. This appears to be the fault of commit ab7271677, whose authors I've cc'd: the stanza starting at about allpaths.c:1672 is bullheadedly creating a parallel path whether that's allowed or not. Fixing it might be as simple as adding "rel->consider_parallel" to the conditions there. regards, tom lane