Re: Autovacuum on partitioned table
yuzuko <yuzukohosoya@gmail.com>
From: yuzuko <yuzukohosoya@gmail.com>
To: Laurenz Albe <laurenz.albe@cybertec.at>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Greg Stark <stark@mit.edu>
Date: 2019-12-02T09:42:22Z
Lists: pgsql-hackers
Hi Laurenz, Thanks for the comments. On Mon, Dec 2, 2019 at 6:19 PM Laurenz Albe <laurenz.albe@cybertec.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
Commits
-
Keep stats up to date for partitioned tables
- e1efc5b465c8 14.0 landed
- 375aed36ad83 15.0 landed
-
Revert analyze support for partitioned tables
- b3d24cc0f0aa 14.0 landed
- 6f8127b73901 15.0 landed
-
Document ANALYZE storage parameters for partitioned tables
- 41badeaba8be 14.0 landed
-
autovacuum: handle analyze for partitioned tables
- 0827e8af70f4 14.0 landed