RE: Parallel INSERT (INTO ... SELECT ...) - Mailing list pgsql-hackers

From tsunakawa.takay@fujitsu.com
Subject RE: Parallel INSERT (INTO ... SELECT ...)
Date
Msg-id TYAPR01MB299057A61D651E114C08F2E3FEBC0@TYAPR01MB2990.jpnprd01.prod.outlook.com
Whole thread Raw
In response to RE: Parallel INSERT (INTO ... SELECT ...)  ("Hou, Zhijie" <houzj.fnst@cn.fujitsu.com>)
Responses RE: Parallel INSERT (INTO ... SELECT ...)  ("Hou, Zhijie" <houzj.fnst@cn.fujitsu.com>)
List pgsql-hackers
From: Hou, Zhijie <houzj.fnst@cn.fujitsu.com>
> IMO, max_parallel_hazard() only check the parent table's default expressions,
> But if the table has partitions and its partition have its own default expressions,
> max_parallel_hazard() seems does not check that.
> And we seems does not check that too.
> 
> I am not sure should we allow parallel insert for this case ?

I think we can allow parallel insert in this case, because the column value is determined according to the DEFAULT
definitionof the target table specified in the INSERT statement.  This is described here:
 

https://www.postgresql.org/docs/devel/sql-createtable.html

"Defaults may be specified separately for each partition. But note that a partition's default value is not applied when
insertinga tuple through a partitioned table."
 

So the parallel-unsafe function should not be called.


Regards
Takayuki Tsunakawa


pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Support ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION ... syntax
Next
From: japin
Date:
Subject: Re: Support ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION ... syntax