Насколько велика ваша база данных? Можете ли вы позволить себе потерять данные, которые были обновлены во время их использования клиентом и до того, как вам пришлось перейти к резервной копии? Каждый план развертывания включает в себя какие-то компромиссы, и вам нужно решить, какие компромиссы наименее болезненны для того, что вы хотите сделать.
Для простых веб-сайтов, на которых работает только pgsql, вы можете отключить клиентов и запустить все обновление за одну большую транзакцию. Если какая-то часть выходит из строя, все откатывается назад, как будто вы никогда ничего не делали. К сожалению, это не работает точно так же для других БД, но с флэшбэком или как его называет оракул, вы можете получить нечто подобное.
Для более крупных и сложных веб-сайтов, работающих поверх реплицированного набора серверов БД, все становится намного сложнее и быстрее. Там, где я работал, мы использовали Slony, и не очень приятно играть с другими, когда вы развертываете изменения DDL, и вы в значительной степени ДОЛЖНЫ отключить всех пользователей во время развертывания DDL. Однако время простоя измеряется для нас минутами, даже если размер баз данных достигает 1 ТБ.