Ответ вслух Senior Базы данных в эксплуатации обновлено

Обновление PostgreSQL на новую мажорную версию

Вопрос

Интервьюер: «Нужно обновить продовый PostgreSQL 13 на 17, база 2 ТБ, простой не больше 10 минут. Ваш план?»

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Для 10 минут простоя беру логическую репликацию. Сначала репетиция на копии: проверяю расширения, планы ключевых запросов на 17-й версии, драйверы приложения.

Что должно прозвучать в ответе

  • Варианты: pg_upgrade --link с коротким простоем или логическая репликация в новый кластер

  • Подготовка: совместимость расширений, приложения и драйверов, репетиция на копии

  • Логическая репликация: схема, publication и subscription, догонка, проверка лага

  • Переключение: остановка записи, синхронизация последовательностей, перевод приложений

  • План отката и наблюдение после переключения

  • Обновить статистику (ANALYZE) после переезда

Что могут спросить следом

  • Какие объекты не переносит логическая репликация?
  • Как откатиться, если после переключения нашли проблему?

Разбор

Образцовый ответ: «Для 10 минут простоя беру логическую репликацию. Сначала репетиция на копии: проверяю расширения, планы ключевых запросов на 17-й версии, драйверы приложения. Поднимаю новый кластер 17, переношу схему через pg_dump --schema-only, создаю publication на старом и subscription на новом, жду начальную синхронизацию и нулевой лаг. Логическая репликация не переносит последовательности и DDL, поэтому в окне: останавливаю запись (PgBouncer pause), жду догонки, выставляю значения последовательностей, переключаю PgBouncer на новый кластер, снимаю паузу. Это минуты. Для отката могу настроить обратную логическую репликацию с нового на старый, чтобы в первые часы вернуться без потери данных. После переезда ANALYZE по всей базе, иначе первые часы планировщик без статистики».

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме