Re: Parallel Inserts in CREATE TABLE AS

Поиск
Список
Период
Сортировка
От vignesh C
Тема Re: Parallel Inserts in CREATE TABLE AS
Дата
Msg-id CALDaNm1DG46RfhT7s_9_ZAztm72GcwxD0LrEsXq4MSdopLCB3A@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Parallel Inserts in CREATE TABLE AS  (Amit Kapila <amit.kapila16@gmail.com>)
Ответы Re: Parallel Inserts in CREATE TABLE AS  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Список pgsql-hackers


On Thu, Dec 24, 2020 at 11:29 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Thu, Dec 24, 2020 at 10:25 AM vignesh C <vignesh21@gmail.com> wrote:
> >
> > On Tue, Dec 22, 2020 at 2:16 PM Bharath Rupireddy
> > <bharath.rupireddyforpostgres@gmail.com> wrote:
> > >
> > > On Tue, Dec 22, 2020 at 12:32 PM Bharath Rupireddy
> > > Attaching v14 patch set that has above changes. Please consider this
> > > for further review.
> > >
> >
> > Few comments:
> > In the below case, should create be above Gather?
> > postgres=# explain  create table t7 as select * from t6;
> >                             QUERY PLAN
> > -------------------------------------------------------------------
> >  Gather  (cost=0.00..9.17 rows=0 width=4)
> >    Workers Planned: 2
> >  ->  Create t7
> >    ->  Parallel Seq Scan on t6  (cost=0.00..9.17 rows=417 width=4)
> > (4 rows)
> >
> > Can we change it to something like:
> > -------------------------------------------------------------------
> > Create t7
> >  -> Gather  (cost=0.00..9.17 rows=0 width=4)
> >   Workers Planned: 2
> >   ->  Parallel Seq Scan on t6  (cost=0.00..9.17 rows=417 width=4)
> > (4 rows)
> >
>
> I think it is better to have it in a way as in the current patch
> because that reflects that we are performing insert/create below
> Gather which is the purpose of this patch. I think this is similar to
> what the Parallel Insert patch [1] has for a similar plan.
>
>
> [1] - https://commitfest.postgresql.org/31/2844/
>

Also another thing that I felt was that actually the Gather nodes will actually do the insert operation, the Create table will be done earlier itself. Should we change Create table to Insert table something like below:
                             QUERY PLAN                            
-------------------------------------------------------------------
 Gather  (cost=0.00..9.17 rows=0 width=4)
   Workers Planned: 2
 ->  Insert table2 (instead of Create table2)
   ->  Parallel Seq Scan on table1  (cost=0.00..9.17 rows=417 width=4)

Regards,
Vignesh
EnterpriseDB: http://www.enterprisedb.com

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Feature request: Connection string parsing for postgres_fdw
Следующее
От: "Tang, Haiying"
Дата:
Сообщение: RE: [Patch] Optimize dropping of relation buffers using dlist