On Tue, Nov 5, 2019 at 1:42 AM Stephen Frost <sfrost@snowman.net> wrote:
> * Andres Freund (andres@anarazel.de) wrote:
>
> > That's quite doable independent of parallelism, as we don't have tables
> > or indexes spanning more than one tablespace. True, you could then make
> > the processing of an individual vacuum faster by allowing to utilize
> > multiple tablespace budgets at the same time.
>
> Yes, it's possible to do independent of parallelism, but what I was
> trying to get at above is that it might not be worth the effort. When
> it comes to parallel vacuum though, I'm not sure that you can just punt
> on this question since you'll naturally end up spanning multiple
> tablespaces concurrently, at least if the heap+indexes are spread across
> multiple tablespaces and you're operating against more than one of those
> relations at a time
>
Each parallel worker operates on a separate index. It might be worth
exploring per-tablespace vacuum throttling, but that should not be a
requirement for the currently proposed patch.
As per feedback in this thread, it seems that for now, it is better,
if we can allow a parallel vacuum only when I/O throttling is not
enabled. We can later extend it based on feedback from the field once
the feature starts getting used.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com