Re: analyze-in-stages post upgrade questions

Laurenz Albe <laurenz.albe@cybertec.at>

From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Mircea Cadariu <cadariu.mircea@gmail.com>, "Zechman, Derek S" <Derek.S.Zechman@snapon.com>, Adrian Klaver <adrian.klaver@aklaver.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-08-18T06:40:02Z
Lists: pgsql-hackers, pgsql-general
On Mon, 2025-08-18 at 11:38 +0900, Fujii Masao wrote:
> Thanks! So I've updated the patch based on my earlier comments.
> Unless there are objections, I'll commit the attached version to master only.

I am fine with your patch.

One suggestion:

> --- a/doc/src/sgml/ref/vacuumdb.sgml
> +++ b/doc/src/sgml/ref/vacuumdb.sgml
> @@ -397,6 +397,15 @@ PostgreSQL documentation
>          Multiple tables can be vacuumed by writing multiple
>          <option>-t</option> switches.
>         </para>
> +       <para>
> +        If no tables are specified with the <option>--table</option> option,
> +        <application>vacuumdb</application> will clean all regular tables
> +        and materialized views in the connected database.
> +        If <option>--analyze-only</option> or
> +        <option>--analyze-in-stages</option> is also specified,
> +        it will analyze all regular tables, partitioned tables,
> +        and materialized views (but not foreign tables).
> +       </para>

I suggest replacing "clean" with "process", since VACUUM does so much more than
clean up dead tuples.

Concerning backpatching, I voted against, but I suggest that this be backpatched
to v18.  I don't feel very strongly about it though.

Yours,
Laurenz Albe



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. vacuumdb: Make vacuumdb --analyze-only process partitioned tables.

  2. Integrate FullTransactionIds deeper into two-phase code