Re: analyze-in-stages post upgrade questions
Laurenz Albe <laurenz.albe@cybertec.at>
From: Laurenz Albe <laurenz.albe@cybertec.at>
To: "Zechman, Derek S" <Derek.S.Zechman@snapon.com>, Adrian Klaver <adrian.klaver@aklaver.com>, "pgsql-general@lists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2025-06-28T05:25:30Z
Lists: pgsql-hackers, pgsql-general
Attachments
- v1-0001-Make-vacuumdb-Z-process-partitioned-tables.patch (text/x-patch) patch v1-0001
On Sat, 2025-06-28 at 01:23 +0000, Zechman, Derek S wrote: > > Well, that wouldn't explain why it doesn't work on partitioned tables. > > I am under the impression that it should. > > > > Derek, can cou share the pg_stats entries for the partitioned table? > > There are no entries in pg_stats for the parent table until after I manually run an analyze on it – Example below You are right. I looked at the code, and "vacuumdb" does not process partitiond tables, even if --analyze-only is specified. I find that surprising, aince the SQL command ANALYZE (without a table name) will also collect statistics for partitioned tables. I think that it would be a good idea to change that behavior. In particular, it makes a lot of sense to collect statistics for partitioned tables after a "pg_upgrade". Attached is a patch to make "vacuumdb --analyze-only" consider partitioned tables as well. 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 →
-
vacuumdb: Make vacuumdb --analyze-only process partitioned tables.
- 6429e5b771db 19 (unreleased) landed
-
Integrate FullTransactionIds deeper into two-phase code
- 62a17a92833d 19 (unreleased) cited