Перейти к основному содержимому

Обновление

Данный раздел рассматривает процесс обновления СУБД Pangolin.

Содержание

Подготовка к обновлению

Для подготовки к процессу установки продукта СУБД Pangolin выполните следующие пункты:

  1. Ознакомьтесь с общей информацией процесса обновления СУБД Pangolin.
  2. Сверьте текущую версию СУБД с поддерживаемыми для обновления и определитесь с типом обновления.
  3. Подберите способ обновления СУБД Pangolin.

При возникновении проблем в процессе обновления обратитесь к разделу «Часто встречающиеся проблемы и пути их устранения».

По окончанию процесса обновления рекомендуется ознакомиться с разделом «Чек-лист проверки корректности работы».

Описание

В СУБД Pangolin предусмотренно два типа обновления:

  • Обновление исполняемых файлов – процесс обновления, в ходе которого достаточно просто заменить старые файлы (исполняемые, конфигурационные, файлы расширений) их новыми версиями, либо обновить версии утилит, входящих в состав дистрибутива. Формат внутреннего хранилища при таких модификациях не изменяется. Данное обновление необходимо проводить, например, при изменении конфигурационных файлов, используемых утилит и расширений или при доработке кода самой БД, когда в формат внутреннего хранилища БД не вносятся никакие изменения, в том числе ни один из критериев перечисленных в списке «Критерии, определяющие необходимость проведения обновления СУБД Pangolin с переносом данных» не выполняется. Данный тип включает в себя запуск утилиты pg_inplace_upgrade - это необходимо, если версия, на которую происходит обновление, содержит в себе изменения данных системного каталога, которые необходимо обновить. В старой терминологии для обозначения этого типа обновления использовалось «минорное обновление СУБД».
  • Обновление с переносом данных – процесс обновления более сложный, чем просто замена одних файлов другими. В данном случае процесс дополнительно усложнен необходимостью проведения тестов, проверяющих возможность обновиться, а также миграцией данных, так как при этом типе обновления вносятся изменения в формат внутреннего хранилища БД. Данное обновление необходимо проводить в случае, если выполняется один или несколько критериев перечисленных в списке «Критерии, определяющие необходимость проведения обновления СУБД Pangolin с переносом данных». В старой терминологии для обозначения этого типа обновления использовалось «мажорное обновление СУБД».

Критерии, определяющие необходимость проведения обновления СУБД Pangolin с переносом данных:

  • изменение мажорной версии оргинального PostgreSQL;
  • изменение состава или структуры системных каталогов;
  • изменение состава или структуры встроенных функций;
  • изменение состава или структуры встроенных представлений;
  • изменение файловой структуры, в том числе алгоритма засекречивания;
  • изменение состава конфигурационных файлов;
  • изменение списка встроенных типов данных.

Таблица поддерживаемых для обновления версий СУБД

Внимание!

Обновление на версию 7.1.0 доступно только с версии 6.5.2. Для этого используйте тип обновления с переносом данных.

В случае необходимости обновления с более ранней версии необходимо выполнить промежуточный этап обновления до версии 6.5.2. Инструкцию по обновлению на версию 6.5.2 смотрите в документации к дистрибутиву данной версии.

В остальных случаях обновление на актуальную версию (7.1.0) невозможно.

Внимание!

Для обновления СУБД с предустановленным расширением timescaledb требуется версия расширения 2.19.3. Произведите обновление версии расширения до необходимой, перед началом процесса обновления СУБД Pangolin.

Варианты сценариев обновления СУБД с предустановленным расширением timescaledb до версии 6.5.2, смотрите в документации к дистрибутиву данной версии.

Как определить версию, установленную на сервере

Для получения названия и версии продукта серверной части необходимо подключиться к серверу Pangolin и выполнить команды из таблицы ниже. Результат выполнения зависит от названия, номера версии и платформы, для которой была выполнена сборка.

ДействиеКомандаТип значенияПримеры выполнения команды
Название продуктаSELECT version();Строковое значениеPostgreSQL {postgres_version} on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.0 (clang-1100.0.33.17), 64-bit
Номер open-source версииSHOW server_version;Строковое значение{postgres_version}
SHOW server_version_num;Числовое значение110007
Номер Pangolin версииSHOW server_se_version;Строковое значение{version}
SELECT product_version();Строковое значениеPlatform V Pangolin DB {version}

Выбор способа обновления

  • Ручное обновление по инструкции выполняется на конечных узлах кластера СУБД. Стоит учитывать, что при ручном обновлении потребуется множество самостоятельных действий по проверке готовности к обновлению, а также созданию резервной копии. Ручное обновление дает возможность самостоятельно адаптировать СУБД под индивидуальные условия и требования к процессу обновления.
  • Автоматизированное обновление предоставляет быстрый и удобный процесс за счет использования Ansible-скриптов. С помощью инструмента Pangolin Installer процесс обновления СУБД Pangolin становится более простым и интуитивно понятным, а вариант использования Ansible плейбука будет удобен для контроля над процессом. Автоматизированное обновление следует запускать на отдельном хосте не входящем в кластер СУБД Pangolin.

Далее представлена небольшая сравнительная таблица:

Ручное обновлениеАвтоматизированное обновление
Требуемые действияМаксимальныеМинимальные
Вероятность ошибок, обусловленных человеческим факторомВысокий рискРиск отсутствует
Скорость установкиДлительнаяБыстрая
Ручная работа на сервере экземпляра СУБДДа (по SSH)Нет