Re: Autovacuum on partitioned table

From: yuzuko <yuzukohosoya(at)gmail(dot)com>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Greg Stark <stark(at)mit(dot)edu>
Subject: Re: Autovacuum on partitioned table
Date: 2019-12-02 09:42:22
Message-ID: CAKkQ508KFkrrEKSX52zmKJ9WfnpygCBXdi5yJrRO7JtE+EfuXQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Laurenz,

Thanks for the comments.

On Mon, Dec 2, 2019 at 6:19 PM Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> wrote:
>
> On Mon, 2019-12-02 at 18:02 +0900, yuzuko wrote:
> > Greg reported in [1] before, autovacuum ignores partitioned tables.
> > That is, even if individual partitions’ statistics are updated, its parent's
> > statistics are not updated. This is TODO for declarative partitioning.
> > As Amit mentioned in [2], a way to make parent's statistics from
> > partitions' statistics without scanning the partitions would be nice,
> > but it will need a lot of modifications. So I tried to fix that using the
> > current analyze method.
> >
> > The summary of the attached patch is as follows:
> > * If the relation is a partitioned table, check its children if they need
> > vacuum or analyze. Children need to do that are added to
> > a table list for autovacuuum. At least one child is added to the list,
> > the partitioned table is also added to the list. Then, autovacuum
> > runs on all the tables in the list.
>
> That means that all partitions are vacuumed if only one of them needs it,
> right? This will result in way more vacuuming than necessary.
>
Autovacuum runs only partitions need vacuum/analyze, so unnecessary
partitions stats are not updated. However, to make parent's stats,
all children are scanned. It might be a waste of time.

> Wouldn't it be an option to update the partitioned table's statistics
> whenever one of the partitions is vacuumed?
>
> Yours,
> Laurenz Albe
>

--
Best regards,
Yuzuko Hosoya
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Konstantin Knizhnik 2019-12-02 09:55:57 Re: Global temporary tables
Previous Message Alexey Kondratov 2019-12-02 09:41:03 Re: Allow CLUSTER, VACUUM FULL and REINDEX to change tablespace on the fly