pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruce Momjian <bruce@momjian.us>
To: David G. Johnston <david.g.johnston@gmail.com>
Cc: Frédéric Yhuel <frederic.yhuel@dalibo.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>
Cc: Corey Huinker <corey.huinker@gmail.com>
Cc: John Naylor <johncnaylorls@gmail.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Jeff Davis <pgsql@j-davis.com>
Cc: jian he <jian.universality@gmail.com>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Magnus Hagander <magnus@hagander.net>
Cc: Stephen Frost <sfrost@snowman.net>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: alvherre@alvh.no-ip.org
Subject: Re: vacuumdb changes for stats import/export
Date: Sat, 26 Jul 2025 12:06:52 -0400
Message-ID: <aIT9HMuQNIFfIlFH@momjian.us> (raw)
In-Reply-To: <CAKFQuwa2-oW__J7gAcVKgZnx658qBx9GknwL-wqX_0VvDc1EBQ@mail.gmail.com>
References: <Z9BsEfqEmwkUetgz@nathan>
	<CANWCAZbiLHGeAZPYg6G6eT6MmCXM7CuYBEj3WhWw76e_HQejDA@mail.gmail.com>
	<Z9HhrtaZyFgMvJsM@nathan>
	<Z9R9-mFbxukqKmg4@nathan>
	<Z9jXuyymBSVDw9pv@nathan>
	<CADkLM=ek625v06WeeOpUNjGnCqyD8pH_0iYcCpg57KP3A8D9qg@mail.gmail.com>
	<Z9nnsPBlBzWxDuLi@nathan>
	<4b94ca16-7a6d-4581-b2aa-4ea79dbc082a@dalibo.com>
	<aITkuWC4Ww88GsFL@momjian.us>
	<CAKFQuwa2-oW__J7gAcVKgZnx658qBx9GknwL-wqX_0VvDc1EBQ@mail.gmail.com>

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.





view thread (36+ messages)  latest in thread

Message-ID: <aIT9HMuQNIFfIlFH@momjian.us>
Permalink:  ../aIT9HMuQNIFfIlFH@momjian.us/
Also on:    postgresql.org/message-id/aIT9HMuQNIFfIlFH@momjian.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: bruce@momjian.us, david.g.johnston@gmail.com, frederic.yhuel@dalibo.com, nathandbossart@gmail.com, corey.huinker@gmail.com, johncnaylorls@gmail.com, sawada.mshk@gmail.com, pgsql@j-davis.com, jian.universality@gmail.com, boekewurm+postgres@gmail.com, tgl@sss.pgh.pa.us, magnus@hagander.net, sfrost@snowman.net, ashutosh.bapat.oss@gmail.com, smithpb2250@gmail.com, pgsql-hackers@lists.postgresql.org, alvherre@alvh.no-ip.org
  Subject: Re: vacuumdb changes for stats import/export
  In-Reply-To: <aIT9HMuQNIFfIlFH@momjian.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox