Re: analyze-in-stages post upgrade questions
От | Laurenz Albe |
---|---|
Тема | Re: analyze-in-stages post upgrade questions |
Дата | |
Msg-id | 9a93cffe79e2be1d9450a36e773a39dc456c241e.camel@cybertec.at обсуждение исходный текст |
Ответ на | Re: analyze-in-stages post upgrade questions (Fujii Masao <masao.fujii@gmail.com>) |
Список | 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.mircea@gmail.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
В списке pgsql-hackers по дате отправления: