Миграция выглядела безобидно: одна колонка, дефолтное значение, ни одной строчки данных не тронуто. По всем правилам такой ALTER на современном Postgres должен отработать за миллисекунды. Вместо этого приложение легло на 11 минут, и первые полчаса разбора ушли на то, чтобы понять — а при чём тут вообще миграция, если она «должна быть мгновенной». Разбираем, как метаданные-онли изменение схемы устроило полноценный даунтайм и почему дело было вовсе не в самой миграции.
Подробнее →