Postgres, pg_upgrade и TOAST
Вопрос больше консультационного характера. На хабре был замечен комментарий: "Вариант с pg_upgrade потребует от администратора базы меньше времени на подготовку, однако придётся обновлять все индексы(при обновлении до 12 или 13 версии) и пересобирать toast таблицы(в случае обновления до 14) . "
Если с индексами всё +- понятно, так сказать шишки набивались. То вот про вариант с toast хотелось бы получить больше информации.
Коллеги, прошу прощения что задаю вопрос без конкретной проблемы. Просветите пожалуйста.
Ответы (1 шт):
pg_upgrade
как правило требует сопоставимое время на подготовку, в сравнении с обновлением с использованием дампов, но обеспечивает наименьшее время недоступности базы при обновлении в --link
или --clone
режимах. pg_upgrade
не требует ничего делать с индексами или с toast. Файлы данных намеренно бинарно совместимы при обновлениях через pg_upgrade
.
Администратор может запланировать что-нибудь сделать дополнительно после обновления по своему усмотрению. Например, если считает, что для этого проекта что-то из новинок этого релиза окажется полезным. Процитированный комментатор, вероятно, подразумевал btree v4 и index deduplication. Про toast единственная догадка, что комментатор подразумевал (но не упомянул или вы обрезали цитатой) своё желание сменить default toast compression с pglz на lz4. Но то во-первых не дефолтное изменение, а во-вторых нужно проверять на конкретных данных. lz4 может в реальности сжиматься хуже чем pglz и не может быть рекомендован повсеместно. Рост реальной таблички процентов на 10% без положительных эффектов дело такое, не очень интересное.
А есть ли что-то в новом релизе интересное и надо ли что-то делать после обновления дополнительно чтобы воспользоваться возможностью - то нужно читать в release notes и документации по этой новой фиче.