Re: min_parallel_table_size and inheritence

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <rhaas(at)postgresql(dot)org>, Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>
Subject: Re: min_parallel_table_size and inheritence
Date: 2018-12-10 02:58:41
Message-ID: CAA4eK1JbBen+iejPP71ovWvMhQMWD_UmAXx2w30o_YKAhBZi9A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Dec 9, 2018 at 6:24 AM Justin Pryzby <pryzby(at)telsasoft(dot)com> wrote:
>
> The docs say:
> https://www.postgresql.org/docs/current/runtime-config-query.html
> |min_parallel_table_scan_size Sets the minimum amount of table data that must be scanned in order for a parallel scan to be considered. [...]
>
> I'd like to set parallel_min_table_size=32MB, but it looks like that won't do
> what I intend for at least one of our tables using inheritence.
>
> It seems to me that an individual table should not be scanned in parallel if
> its size is below the threshold, even if it's a child and has siblings which
> are larger and scanned in parallel.
>
> I found that the current behavior seems to be more or less deliberate,

Yes, you are right.

> but
> maybe should be revisited following implementation of "parallel append" node,
> as previously discussed.
>

Why? How does parallel append help for individual table/partition
scan? If you want the parallel scan to be forced for any individual
table, you might want to try setting 'parallel_workers' parameter for
that table. For example 'Alter Table tbl Set (parallel_workers=2);'

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2018-12-10 06:10:36 Re: Use durable_unlink for .ready and .done files for WAL segment removal
Previous Message Michael Paquier 2018-12-10 02:42:42 Re: Too many logs are written on Windows (LOG: could not reserve shared memory region (addr=%p) for child %p:)