I happened to notice that while writing this in plpgsql will consider a parallel plan:
select count(*) into s from tenk1 where ten = x; writing this will not: s := count(*) from tenk1 where ten = x; Is that intentional? Seems to me these cases ought to be treated the same. The reason for it is that exec_assign_expr's call of exec_prepare_plan does not specify CURSOR_OPT_PARALLEL_OK. regards, tom lane