pgsql: CREATE INDEX: don't update table stats if autovacuum=off.

From: Jeff Davis <jdavis(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: CREATE INDEX: don't update table stats if autovacuum=off.
Date: 2025-03-07 03:40:24
Message-ID: E1tqOZU-001Bv3-0n@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

CREATE INDEX: don't update table stats if autovacuum=off.

We previously fixed this for binary upgrade in 71b66171d0, but a
similar problem remained when dumping statistics without data.

Fix by not opportunistically updating table stats during CREATE INDEX
when autovacuum is disabled. For stats to be stable at all, the server
needs to be aware that it should not take every opportunity to update
stats. Per discussion, autovacuum=off is a signal that the user
expects stats to be stable; though if necessary, we could create
a more specific mode in the future.

Reported-by: Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAExHW5vf9D+8-a5_BEX3y=2y_xY9hiCxV1=C+FnxDvfprWvkng@mail.gmail.com
Discussion: https://postgr.es/m/ca81cbf6e6ea2af838df972801ad4da52640a503.camel%40j-davis.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d611f8b1587b8f30caa7c0da99ae5d28e914d54f

Modified Files
--------------
src/backend/catalog/index.c | 22 ++++++++++++++++++++++
src/test/regress/expected/stats_import.out | 29 +++++++++++++++++++++++++++++
src/test/regress/sql/stats_import.sql | 17 +++++++++++++++++
3 files changed, 68 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2025-03-07 07:40:17 Re: pgsql: Make postgres_fdw's query_cancel test less flaky.
Previous Message John Naylor 2025-03-07 03:38:10 pgsql: Revert "vacuumdb: Add option for analyzing only relations missin