summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Davis2024-04-03 23:12:45 +0000
committerJeff Davis2024-04-03 23:12:45 +0000
commit71b66171d045878cb9267a268a3bf8ce4f11f333 (patch)
tree860b38d2f561c2a617ee8f7791b0db0d656fc01c
parent06286709ee0637ec7376329a5aa026b7682dcfe2 (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.c6
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;