Andrey Sychev
А что, если сделать так: сначала запустить Vacuum в обычном режиме, когда база в состоянии read only. Ясно, что команда по завершении выйдет с ошибкой, но это и не нужно. Подождать, скажем, 1 час. В параллельной сессии просмотреть прогресс и оценить длительность выполнения команды. Прервать vacuum и потом перейти в single user mode. Снова запустить vacuum, теперь уже зная, сколько примерно он будет работать.
> Vacuum в обычном режиме, когда база в состоянии read only.
Подождите, что именно Вы имеете в виду?
Кластер, который перешёл в состояние "database is not accepting commands to avoid wraparound data loss in database", нормально же уже не запустишь, нет?
Т.е. пока Вы его из этого состояния не выведете (что нередко можно сделать целенаправленно (выполнив VACUUM "нужной" таблицы, и довольно быстро), всё подобное бесполезно.