From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
---|---|
To: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, Mircea Cadariu <cadariu(dot)mircea(at)gmail(dot)com> |
Cc: | "Zechman, Derek S" <Derek(dot)S(dot)Zechman(at)snapon(dot)com>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: analyze-in-stages post upgrade questions |
Date: | 2025-08-06 20:52:52 |
Message-ID: | 9a93cffe79e2be1d9450a36e773a39dc456c241e.camel@cybertec.at |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
On Wed, 2025-08-06 at 23:25 +0900, Fujii Masao wrote:
> On Wed, Aug 6, 2025 at 1:01 PM Mircea Cadariu <cadariu(dot)mircea(at)gmail(dot)com> wrote:
> > Overall, I like the change. But I have one question: should this be treated as
> > a bug fix that we back-patch to supported branches, or is it more of
> > an improvement that should only go into master?
> >
> > I reckon it might make sense to back-patch it to previous versions, as users might not upgrade always to the latest version.
>
> I understand your point. But on second thought, since the patch changes
> behavior, I'm leaning toward treating it as an improvement, so it should
> only go to master...
I agree that this behavior change should not be backpatched.
That is not a bugfix.
> > + /*
> > + * VACUUMing partitioned tables would be unreasonably expensive, since
> > + * that entails processing the partitions twice (once as part of the
> > + * partitioned table, once as tables in their own right) for no
> > + * benefit. But if we only ANALYZE, collecting statistics for
> > + * partitioned tables is worth the effort.
> > + */
> >
> > This is probably true. But isn't the main reason more about aligning with
> > the behavior of the underlying VACUUM and ANALYZE commands? As the vacuumdb
> > docs says, "There is no effective difference between vacuuming and analyzing
> > databases via this utility and via other methods for accessing the server.",
> > so its default target objects should match: VACUUM skips partitioned tables
> > by default, while ANALYZE includes them. If that's the case, maybe the comment
> > should reflect that instead.
> >
> > I see what you mean. From that perspective, I wonder if we even need a comment there at all.
>
> Or, if we keep it, though, I'd like to update it to something like
> the following:
>
> --------------------
> vacuumdb should generally follow the behavior of the underlying
> VACUUM and ANALYZE commands. If analyze_only is true, process
> regular tables, materialized views, and partitioned tables, just like
> ANALYZE (with no specific target tables) does. Otherwise, process
> only regular tables and materialized views, since VACUUM skips
> partitioned tables when no target tables are specified.
> --------------------
I am fine with that suggestion.
Alternatively, my original comment could be amended with
Besides, ANALYZE (without an option) processes partitioned tables, and
"vacuumdb -Z" should behave like ANALYZE.
Yours,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | Rumpi Gravenstein | 2025-08-06 21:29:26 | Re: PostgreSQL Bug with simple function unexpectedly treating varchar parameter as an array |
Previous Message | David G. Johnston | 2025-08-06 20:43:22 | PostgreSQL Bug with simple function unexpectedly treating varchar parameter as an array |
From | Date | Subject | |
---|---|---|---|
Next Message | David Steele | 2025-08-06 22:30:50 | Re: Return pg_control from pg_backup_stop(). |
Previous Message | Peter Geoghegan | 2025-08-06 20:41:00 | Re: index prefetching |