Fix assertion failure in parallel vacuum with minimal maintenance_work_mem setting.
bbf668d66fbf lowered the minimum value of maintenance_work_mem to 64kB. However, in parallel vacuum cases, since the initial underlying DSA size is 256kB, it attempts to perform a cycle of index vacuuming and table vacuuming with an empty TID store, resulting in an assertion failure. This commit ensures that at least one page is processed before index vacuuming and table vacuuming begins. Backpatch to 17, where the minimum maintenance_work_mem value was lowered. Reviewed-by: David Rowley <dgrowle...@gmail.com> Discussion: https://postgr.es/m/cad21aoceambkkxskbj4db+5pjdrl4zhxrcilbges_g_g8mv...@mail.gmail.com Backpatch-through: 17 Branch ------ REL_17_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/a38dce3c4a90aa0facef350bc6a502f31b0cfa31 Modified Files -------------- src/backend/access/heap/vacuumlazy.c | 7 +++++-- src/test/regress/expected/vacuum.out | 12 ++++++++++++ src/test/regress/sql/vacuum.sql | 13 +++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-)