postgres.git / summary / log / commit / refs

commit    71b66171d045878cb9267a268a3bf8ce4f11f333
Author:   Jeff Davis <jdavis@postgresql.org>
Date:     Wed Apr 03 23:12:45 2024 +0000

    CREATE INDEX: do not update stats during binary upgrade.
    
    During binary upgrade, indexes are created before the data is moved
    into place, so it will always be zero.
    
    This is not currently a major problem, but will be when we try to
    preserve statistics during upgrade.
    
    Author: Corey Huinker
    Discussion: https://postgr.es/m/CADkLM=daPdFB8V0tgFxK-dLowFsAEzWRWJHyxij7BG3kBjcouA@mail.gmail.com


src/backend/catalog/index.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index b6a7c60e230..9b7ef71d6fe 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -2874,7 +2874,11 @@ index_update_stats(Relation rel, dirty = true; } - if (reltuples >= 0) + /* + * Avoid updating statistics during binary upgrade, because the indexes + * are created before the data is moved into place. + */ + if (reltuples >= 0 && !IsBinaryUpgrade) { BlockNumber relpages = RelationGetNumberOfBlocks(rel); BlockNumber relallvisible; [parent: 06286709ee06]