On Sat, Jul 26, 2025 at 07:47:47AM -0700, David G. Johnston wrote:
> On Sat, Jul 26, 2025, 07:23 Bruce Momjian <bruce@momjian.us> wrote:
>
> On Wed, Jul 23, 2025 at 02:45:10PM +0200, Frédéric Yhuel wrote:
> >
> >
> > On 3/18/25 22:37, Nathan Bossart wrote:
> > > Committed with the following small changes:
> >
> > Hi, I don't really understand this sentence in
> > doc/src/sgml/ref/vacuumdb.sgml:
> >
> > > This option prevents vacuumdb from deleting existing statistics so that
> > the query optimizer's choices do not become transiently worse.
> >
> > I thought that the point was to avoid unnecessary post-upgrade analyzes?
>
> So, the full paragraph is:
>
> + Only analyze relations that are missing statistics for a column,
> index
> + expression, or extended statistics object. This option prevents
> + <application>vacuumdb</application> from deleting existing
> statistics
> + so that the query optimizer's choices do not become transiently
> worse.
>
> What it is trying to say is that if you run vacuumedb without this
> option, not only will it analyze all tables, including ones that already
> have statistics, but will drop statistics on this tables that already
> have statistics for a brief period while it installs new statistics.
> During that period, the optimizer will not have any statistics for the
> table. Is there a clearer way to state this?
>
> Statistics are transactional. Without this option specified are we really
> removing them and commiting prior to computing and saving new ones? And we are
> opposed to just changing this behavior and instead prefer to add an option that
> at first glance seems like everyone should use?
Yes, I thought it was transactional too, but the doc patch suggests is
isn't, so maybe I am wrong.
> "If not specified the system will analyze all statistics-capable objects in
> alphabetical order. Specifying this option then limits the result to only
> those objects that do not already have statistics.". That may not be how the
> feature strictly behaves but that would seem to be all one would expect it to
> do.
Yes, I would prefer the simpler text, if it is accurate.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Do not let urgent matters crowd out time for investment in the future.