Re: Autovacuum on partitioned table (autoanalyze)

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, yuzuko <yuzukohosoya(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, David Steele <david(at)pgmasters(dot)net>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, Daniel Gustafsson <daniel(at)yesql(dot)se>, Amit Langote <amitlangote09(at)gmail(dot)com>, Masahiko Sawada <masahiko(dot)sawada(at)2ndquadrant(dot)com>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Greg Stark <stark(at)mit(dot)edu>, Michael Paquier <michael(at)paquier(dot)xyz>, Peter Geoghegan <pg(at)bowt(dot)ie>, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: Autovacuum on partitioned table (autoanalyze)
Date: 2021-08-25 19:29:51
Message-ID: 20210825192951.GD10479@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Aug 20, 2021 at 07:55:13AM -0500, Justin Pryzby wrote:
> On Tue, Aug 17, 2021 at 06:30:18AM -0500, Justin Pryzby wrote:
> > On Mon, Aug 16, 2021 at 05:28:10PM -0500, Justin Pryzby wrote:
> > > On Mon, Aug 16, 2021 at 05:42:48PM -0400, Álvaro Herrera wrote:
> > > > On 2021-Aug-16, Álvaro Herrera wrote:
> > > >
> > > > > Here's the reversal patch for the 14 branch. (It applies cleanly to
> > > > > master, but the unused member of PgStat_StatTabEntry needs to be
> > > > > removed and catversion bumped).
> > > >
> > > > I have pushed this to both branches. (I did not remove the item from
> > > > the release notes in the 14 branch.)
> > >
> > > | I retained the addition of relkind 'p' to tables included by
> > > | pg_stat_user_tables, because reverting that would require a catversion
> > > | bump.
> > >
> > > Right now, on v15dev, it shows 0, which is misleading.
> > > Shouldn't it be null ?
> > >
> > > analyze_count | 0
> > >
> > > Note that having analyze_count and last_analyze would be an an independently
> > > useful change. Since parent tables aren't analyzed automatically, I have a
> > > script to periodically process them if they weren't processed recently. Right
> > > now, for partitioned tables, the best I could find is to check its partitions:
> > > | MIN(last_analyzed) FROM pg_stat_all_tables psat JOIN pg_inherits i ON psat.relid=i.inhrelid
> > >
> > > In 20200418050815(dot)GE26953(at)telsasoft(dot)com I wrote:
> > > |This patch includes partitioned tables in pg_stat_*_tables, which is great; I
> > > |complained awhile ago that they were missing [0]. It might be useful if that
> > > |part was split out into a separate 0001 patch (?).
> > > | [0] https://www.postgresql.org/message-id/20180601221428.GU5164%40telsasoft.com
> >
> > I suggest the attached (which partially reverts the revert), to allow showing
> > correct data for analyze_count and last_analyzed.
>
> Álvaro, would you comment on this ?
>
> To me this could be an open item, but someone else should make that
> determination.

I added an opened item until this is discussed.
| pg_stats includes partitioned tables, but always shows analyze_count=0
| Owner: Alvaro Herrera

Possible solutions, in decreasing order of my own preference:

- partially revert the revert, as proposed, to have "analyze_count" and
"last_analyzed" work properly for partitioned tables. This doesn't suffer
from any of the problems that led to the revert, does it ?

- Update the .c code to return analyze_count=NULL for partitioned tables.

- Update the catalog definition to exclude partitioned tables, again.
Requires a catalog bumped.

- Document that analyze_count=NULL for partitioned tables. It seems to just
document a misbehavior.

--
Justin

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message John Naylor 2021-08-25 20:15:34 Re: badly calculated width of emoji in psql
Previous Message Nikolay Samokhvalov 2021-08-25 18:42:22 Re: log_autovacuum in Postgres 14 -- ordering issue