Re: Optional skipping of unchanged relations during ANALYZE? - Mailing list pgsql-hackers

From VASUKI M
Subject Re: Optional skipping of unchanged relations during ANALYZE?
Date
Msg-id CAE2r8H6b5UTn_0Fkd3fRpN3QwVogxEJKXrDy3uBm_YfQPCiTsw@mail.gmail.com
Whole thread Raw
In response to Re: Optional skipping of unchanged relations during ANALYZE?  (David Rowley <dgrowleyml@gmail.com>)
List pgsql-hackers
Hi David,

Thanks for calling this out — yes, I agree this is an important case.

Partitioned tables are already something I’m considering separately, since
the parent’s n_mod_since_analyze does not reflect changes made in the
partitions. The intention is not to skip analysis of partitions just because
the partitioned parent itself shows no modifications.

For now, my approach is deliberately limited to using the statistics that are
already available via pg_stat and making skip decisions only where those
statistics are meaningful and reliable.

That also means that for the initial version, I’m not trying to introduce
special handling for cases like foreign tables or system catalogs beyond what
existing statistics already provide. Where statistics are missing, unclear,
or potentially misleading, the conservative behavior would be to fall back
to running ANALYZE as usual.

Thanks again for the feedback.

Regards,
Vasuki M
C-DAC,Chennai.

On Wed, Jan 21, 2026 at 12:06 PM David Rowley <dgrowleyml@gmail.com> wrote:
On Wed, 21 Jan 2026 at 00:02, VASUKI M <vasukianand0119@gmail.com> wrote:
> On Tue, Jan 20, 2026 at 4:16 PM Christoph Berg <myon@debian.org> wrote:
>> Make sure that doesn't skip tables that were never analyzed before.
>
> Yes, the intention is that SMART ANALYZE would not skip relations that have never been analyzed before.
> The skip decision is based on pg_stat entries, so relations without existing statistics will still be analyzed normally.

If doing this, you would also need to make special consideration for
partitioned tables, as n_mod_since_analyze won't change for those
directly, but it might have changed for their partitions.

David

pgsql-hackers by date:

Previous
From: John Naylor
Date:
Subject: Re: tuple radix sort
Next
From: "Hayato Kuroda (Fujitsu)"
Date:
Subject: RE: Assert the timestamp is available for ORIGN_DIFFERS conflicts