> > > Hi > > > > > > > > I may be wrong, and if I miss sth in previous mails, please give > > > > > me some > > > > hints. > > > > > IMO, serial insertion with underlying parallel SELECT can be > > > > > considered for foreign table or temporary table, as the > > > > > insertions only > > > > happened in the leader process. > > > > > > > > > > > > > I don't think we support parallel scan for temporary tables. Can > > > > you please try once both of these operations without Insert being > > > > involved? If you are able to produce a parallel plan without > > > > Insert then we can see why it is not supported with Insert. > > > > > > Sorry, may be I did not express it clearly, I actually means the case > when insert's target(not in select part) table is temporary. > > > And you are right that parallel select is not enabled when temporary > table is in select part. > > > > > > > I think Select can be parallel for this case and we should support this > case. > > > > So I think we're saying that if the target table is a foreign table or > temporary table, it can be regarded as PARALLEL_RESTRICTED, right? >
Yes IMO, PARALLEL_RESTRICTED currently enable parallel select but disable parallel insert. So, the INSERT only happen in leader worker which seems safe to insert into tempory/foreigh table. In addition, there are some other restriction about parallel select which seems can be removed: 1.- Target table has a parallel-unsafe trigger, index expression, column default expression or check constraint 2.- Target table is a partitioned table with a parallel-unsafe partition key expression or support function If the Insert's target table is the type listed above, Is there some reasons why we can not support parallel select ? It seems only leader worker will execute the trigger and key-experssion which seems safe. (If I miss something about it, please let me know) Best regards, houzj