Re: Parallel Inserts in CREATE TABLE AS - Mailing list pgsql-hackers

From Zhihong Yu
Subject Re: Parallel Inserts in CREATE TABLE AS
Date
Msg-id CALNJ-vRPBFc+FvzPDVchfS5OwwFdC1FUiOHNyH5vrMqZ-0U6tQ@mail.gmail.com
Whole thread Raw
In response to RE: Parallel Inserts in CREATE TABLE AS  ("Hou, Zhijie" <houzj.fnst@cn.fujitsu.com>)
List pgsql-hackers
For set_append_rel_size(), it seems this is the difference between query_level != 1 and query_level == 1:

+                   (root->parent_root->parse->CTASParallelInsInfo & CTAS_PARALLEL_INS_IGN_TUP_COST_APPEND) &&

Maybe extract the common conditions into its own expression / variable so that the code is easier to read.

Cheers

On Mon, Dec 14, 2020 at 4:50 AM Hou, Zhijie <houzj.fnst@cn.fujitsu.com> wrote:
Hi

> Attaching v11 patch set. Please review it further.

Currently with the patch, we can allow parallel CTAS when topnode is Gather.
When top-node is Append and Gather is the sub-node of Append, I think we can still enable
Parallel CTAS by pushing Parallel CTAS down to the sub-node Gather, such as:

Append
------>Gather
--------->Create table
------------->Seqscan
------>Gather
--------->create table
------------->Seqscan

And the use case seems common to me, such as:
select * from A where xxx union all select * from B where xxx;

I attatch a WIP patch which just show the possibility of this feature.
The patch is based on the latest v11-patch.

What do you think?

Best regards,
houzj





pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Rethinking plpgsql's assignment implementation
Next
From: Bharath Rupireddy
Date:
Subject: Re: [PATCH] postgres_fdw connection caching - cause remote sessions linger till the local session exit