diff options
author | Jeff Davis | 2024-04-03 23:12:45 +0000 |
---|---|---|
committer | Jeff Davis | 2024-04-03 23:12:45 +0000 |
commit | 71b66171d045878cb9267a268a3bf8ce4f11f333 (patch) | |
tree | 860b38d2f561c2a617ee8f7791b0db0d656fc01c | |
parent | 06286709ee0637ec7376329a5aa026b7682dcfe2 (diff) |
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
-rw-r--r-- | src/backend/catalog/index.c | 6 |
1 files changed, 5 insertions, 1 deletions
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; |