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]