Обновление
Данный раздел рассматривает процесс обновления СУБД Pangolin.
Содержание
- Проверка готовности к обновлению
- Ручное обновление СУБД Pangolin
- Автоматизированное обновление СУБД Pangolin
Подготовка к обновлению
Для подготовки к процессу установки продукта СУБД Pangolin выполните следующие пункты:
- Ознакомьтесь с общей информацией процесса обновления СУБД Pangolin.
- Сверьте текущую версию СУБД с поддерживаемыми для обновления и определитесь с типом обновления.
- Подберите способ обновления СУБД 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) | Нет |