Продвинутые техники pg_upgrade


Robert Bernier

Percona

Старший консультант по PostgreSQL

16:00 (UTC+3) , english

На сегодняшний день утилита командной строки pg_upgrade является наиболее популярным инструментом для обновления между мажорными версиями Postgres. Однако помимо достоинств, у неё есть и известные проблемы. Одна из наиболее критичных: что делать, если произошёл сбой? Цель данного доклада - раскрыть те маленькие секреты, благодаря которым любой из слушателей сможет существенно улучшить процесс выполнения обновлений.

Мы начнём с обсуждения базового режима фунционирования pg_upgrade. Потом мы изучим то, что позволяет обновить многотерабайтный кластер за считанные минуты. В конце мы обсудим те самые ситуации сбоя, которых все боятся, а также разберёмся, что делать в случае их возникновения, чтобы обрести уверенность и определённость.

Список подтем доклада приведён ниже:

  • Как работает pg_upgrade? Общая картина
  • О pg_upgrade (вызов из командной строки)

    • аргументы и опции

  • Пошаговое выполнение обновления
  • О репликации на основе РОЛИ

    • с атрибутом REPLICATION
    • с атрибутом LOGIN

  • Опции для обновления: копирование или жёсткие ссылки?
  • Что делать после обновления?

    • о производительности
    • об анализе
    • о команде REPACK
    • о переиндексации

  • Когда что-то идёт не так, и точка невозврата уже пройдена (пройдена ли?)
  • Обновляем РЕПЛИКУ
    • Метод по умолчанию: pg_basebackup
    • Продвинутый метод:
      • - используем rsync
      • предупреждение: закольцовка vacuum