заблокированную таблицу — пропускает её. Вроде как если ваша миграция решила залочить таблицу, которую чистит вакуум — ну ладно, подождёт на блокировке и сделает потом. А откуда дедлок?
Anti-wraparound vacuum такой уступчивостью не отличается, вроде бы. И на попытки отключения (но сходу не помню, всеми ли возможными методами) ему тоже как-то... ;)
Немного покопавшись в том, что было - я понял, что это был не deadlock. Вы правы. Давайте абстрактно опишу. Допустим, у меня есть таблица products на десятки миллионов записей, где они постоянно добавляются и удаляются. Autovacuum работает по этой таблице очень продолжительное время - около 3х часов. Миграции, видимо, не смогли примениться и выпали по таймауту. Могу ли я в такой ситуации убивать процесс autovacuum и лить миграцию? Это безопасно?
Что ж он делает три часа то🤔
Сам не знаю 😅 мб диск слабый
> Могу ли я в такой ситуации убивать процесс autovacuum и лить миграцию? Да, можете. > Это безопасно? Безопасно в том смысле, что к потере данных это не приведёт ни в коем случае. Но autovacuum там работает не просто так — значит, maintenance таблицы несколько отстанет / будет не идеальным.
Обсуждают сегодня