Re: utility commands benefiting from parallel plan

From: Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>
To: Rafia Sabih <rafia(dot)sabih(at)enterprisedb(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: utility commands benefiting from parallel plan
Date: 2017-09-13 08:59:41
Message-ID: CAJrrPGdn+UYSfRH2iQ4_AyN4oV7cVzmczdtCeQQ4zAO5kXT4sQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Sep 13, 2017 at 4:17 PM, Rafia Sabih <rafia(dot)sabih(at)enterprisedb(dot)com>
wrote:

> On Fri, Sep 1, 2017 at 12:31 PM, Haribabu Kommi
> <kommi(dot)haribabu(at)gmail(dot)com> wrote:
> >
> > Hi All,
> >
> > Attached a rebased patch that supports parallelism for the queries
> > that are underneath of some utility commands such as CREATE TABLE AS
> > and CREATE MATERIALIZED VIEW.
> >
> > Note: This patch doesn't make the utility statement (insert operation)
> > to run in parallel. It only allows the select query to be parallel if the
> > query
> > is eligible for parallel.
> >
>
> Here is my feedback fro this patch,
>
> - The patch is working as expected, all regression tests are passing
>

Thanks for the review.

> - I agree with Dilip that having similar mechanism for 'insert into
> select...' statements would add more value to the patch, but even then
> this looks like a good idea to extend parallelism for atleast a few of
> the write operations
>

Yes, I also agree that supporting of 'insert into select' will provide more
benefit. I already tried to support the same in [1], but it have many
drawbacks especially with triggers. To support a proper parallel support
for DML queries, I feel the logic of ParalleMode needs an update to
avoid the errors from PreventCommandIfParallelMode() function to
identify whether it is nested query operation and that should execute
only in backend and etc.

As the current patch falls into DDL category that gets benefited from
parallel query, because of this reason, I didn't add the 'insert into
select'
support into this patch. Without support of it also, it provides the
benefit.
I work on supporting the DML write support with parallel query as a
separate patch.

[1] - https://www.postgresql.org/message-id/CAJrrPGfo58TrYxnqwnFAo4%
2BtYr8wUH-oC0dJ7V9x7gAOZeaz%2BQ%40mail.gmail.com

Regards,
Hari Babu
Fujitsu Australia

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2017-09-13 09:05:30 Re: Re: [COMMITTERS] pgsql: Use MINVALUE/MAXVALUE instead of UNBOUNDED for range partition b
Previous Message Ashutosh Sharma 2017-09-13 08:58:56 Getting error message with latest PG source on Windows.