Re: document the need to analyze partitioned tables

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Nathan Bossart <nathandbossart(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, yuzuko <yuzukohosoya(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: document the need to analyze partitioned tables
Date: 2023-01-25 03:26:24
Message-ID: CAApHDvq45bKqmULb_n_53NEk_buw1HSfL98trjehwPO3ZXt1Sg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 18 Jan 2023 at 22:15, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> wrote:
> Attached is a new version of my patch that tries to improve the wording.

I had a look at this and agree that we should adjust the paragraph in
question if people are finding it confusing.

For your wording, I found I had a small problem with calling
partitions of a partitioned tables "normal tables" in:

+ The partitions of a partitioned table are normal tables and get processed
+ by autovacuum, but autovacuum doesn't process the partitioned table itself.

I started to adjust that but since the text is fairly short it turned
out quite different from what you had.

I ended up with:

+ With partitioned tables, since these do not directly store tuples, these
+ do not require autovacuum to perform any <command>VACUUM</command>
+ operations. Autovacuum simply performs a <command>VACUUM</command> on the
+ partitioned table's partitions the same as it does with normal tables.
+ However, the same is true for <command>ANALYZE</command> operations, and
+ this can be problematic as there are various places in the query planner
+ that attempt to make use of table statistics for partitioned tables when
+ partitioned tables are queried. For now, you can work around this problem
+ by running a manual <command>ANALYZE</command> command on the partitioned
+ table when the partitioned table is first populated, and again whenever
+ the distribution of data in its partitions changes significantly.

which I've also attached in patch form.

I know there's been a bit of debate on the wording and a few patches,
so I may not be helping. If nobody is against the above, then I don't
mind going ahead with it and backpatching to whichever version this
first applies to. I just felt I wasn't 100% happy with what was being
proposed.

David

Attachment Content-Type Size
doc_partitioned_tables_and_autovacuum.patch text/plain 1.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew 2023-01-25 03:30:06 Fix to enum hashing for dump and restore
Previous Message Robert Haas 2023-01-25 02:42:14 Re: GUCs to control abbreviated sort keys