Re: document the need to analyze partitioned tables

Laurenz Albe <laurenz.albe@cybertec.at>

From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Bruce Momjian <bruce@momjian.us>, Nathan Bossart <nathandbossart@gmail.com>, Tomas Vondra <tomas.vondra@enterprisedb.com>, Robert Haas <robertmhaas@gmail.com>, Álvaro Herrera <alvherre@alvh.no-ip.org>, yuzuko <yuzukohosoya@gmail.com>, pgsql-hackers@postgresql.org
Date: 2023-01-18T19:26:10Z
Lists: pgsql-hackers
On Wed, 2023-01-18 at 11:49 -0600, Justin Pryzby wrote:
> I tweaked this a bit to end up with:
> 
> > -    Partitioned tables are not processed by autovacuum.  Statistics
> > -    should be collected by running a manual <command>ANALYZE</command> when it is
> > +    The leaf partitions of a partitioned table are normal tables and are processed
> > +    by autovacuum; however, autovacuum does not process the partitioned table itself.
> > +    This is no problem as far as <command>VACUUM</command> is concerned, since
> > +    there's no need to vacuum the empty, partitioned table.  But, as mentioned in
> > +    <xref linkend="vacuum-for-statistics"/>, it also means that autovacuum won't
> > +    run <command>ANALYZE</command> on the partitioned table.
> > +    Although statistics are automatically gathered on its leaf partitions, some queries also need
> > +    statistics on the partitioned table to run optimally.  You should collect statistics by
> > +    running a manual <command>ANALYZE</command> when the partitioned table is
> >      first populated, and again whenever the distribution of data in its
> >      partitions changes significantly.
> >     </para>
> 
> "partitions are normal tables" was techically wrong, as partitions can
> also be partitioned.

I am fine with your tweaks.  I think this is good to go.

Yours,
Laurenz Albe



Commits

  1. doc: Fix typo in ANALYZE documentation

  2. Document autoanalyze limitations for partitioned tables

  3. Revert analyze support for partitioned tables

  4. Describe (auto-)analyze behavior for partitioned tables