From 08c23f4204066aa86361eb6232d94284aa8dff00 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Thu, 18 Aug 2022 17:34:12 -0700 Subject: [PATCH] Initialize index stats during parallel VACUUM. Initialize shared memory allocated for index stats to avoid a hard crash. This was possible when parallel VACUUM became confused about the current phase of index processing. Oversight in commit 8e1fae1938, which refactored parallel VACUUM. Author: Masahiko Sawada Reported-By: Justin Pryzby Discussion: https://postgr.es/m/20220818133406.GL26426@telsasoft.com Backpatch: 15-, the first version with the refactoring commit. --- src/backend/commands/vacuumparallel.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/commands/vacuumparallel.c b/src/backend/commands/vacuumparallel.c index 1753da6c830..5c6f646eff9 100644 --- a/src/backend/commands/vacuumparallel.c +++ b/src/backend/commands/vacuumparallel.c @@ -317,6 +317,7 @@ parallel_vacuum_init(Relation rel, Relation *indrels, int nindexes, /* Prepare index vacuum stats */ indstats = (PVIndStats *) shm_toc_allocate(pcxt->toc, est_indstats_len); + MemSet(indstats, 0, est_indstats_len); for (int i = 0; i < nindexes; i++) { Relation indrel = indrels[i];