mirror of
https://github.com/postgres/postgres.git
synced 2025-06-01 00:01:20 -04:00
Fix assertion failure in heap_vacuum_rel
Commit 7d71d3dd08 changed resetting the VacuumFailsafeActive flag to an assertion since the flag is reset before starting vacuuming a relation. This however failed to take recursive calls of vacuum_rel() and vacuum of TOAST tables into consideration. Fix by reverting back to resettting the flag. Author: Masahiko Sawada <sawada.mshk@gmail.com> Reviewed-by: Melanie Plageman <melanieplageman@gmail.com> Reported-by: John Naylor <john.naylor@enterprisedb.com> Discussion: https://postgr.es/m/CAFBsxsFz=GqaG5Ens5aNgVYoV2Y+pfMUijX0ku+CCkWfALwiqg@mail.gmail.com
This commit is contained in:
parent
b72f564d87
commit
4a6603cd46
@ -389,7 +389,11 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
|
||||
Assert(params->index_cleanup != VACOPTVALUE_UNSPECIFIED);
|
||||
Assert(params->truncate != VACOPTVALUE_UNSPECIFIED &&
|
||||
params->truncate != VACOPTVALUE_AUTO);
|
||||
Assert(!VacuumFailsafeActive);
|
||||
/*
|
||||
* While VacuumFailSafeActive is reset to false before calling this, we
|
||||
* still need to reset it here due to recursive calls.
|
||||
*/
|
||||
VacuumFailsafeActive = false;
|
||||
vacrel->consider_bypass_optimization = true;
|
||||
vacrel->do_index_vacuuming = true;
|
||||
vacrel->do_index_cleanup = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user