On Mon, Dec 20, 2021 at 8:40 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > BTW a vacuum automatically enters failsafe mode under the situation > where the user has to run a vacuum in the single-user mode, right?
Only for the table that had the problem. Maybe there are no other tables that a database level "VACUUM" will need to spend much time on, or maybe there are, and they will make it take much much longer (it all depends). The goal of the patch is to make sure that when we're in single user mode, we'll consistently trigger the failsafe, for every VACUUM against every table -- not just the table (or tables) whose relfrozenxid is very old. That's still naive, but much less naive than simply telling users to VACUUM the whole database in single user mode while vacuuming indexes, etc. -- Peter Geoghegan