Обновление
Данный раздел рассматривает процесс обновления СУБД Pangolin.
Содержание
- Проверка готовности к обновлению
- Ручное обновление СУБД Pangolin
- Автоматизированное обновление СУБД Pangolin
Подготовка к обновлению
Для подготовки к процессу обновления продукта СУБД Pangolin выполните следующие пункты:
- Ознакомьтесь с общей информацией процесса обновления СУБД Pangolin.
- Сверьте текущую версию СУБД с поддерживаемыми для обновления и определитесь с типом обновления.
- Подберите способ обновления СУБД Pangolin.
При возникновении проблем в процессе обновления обратитесь к разделу «Часто встречающиеся проблемы и пути их устранения».
По окончании процесса обновления рекомендуется ознакомиться с разделом «Чек-лист проверки корректности работы».
Описание
В СУБД Pangolin предусмотренно два типа обновления:
- Обновление исполняемых файлов – процесс обновления, в ходе которого достаточно просто заменить старые файлы (исполняемые, конфигурационные, файлы расширений) их новыми версиями, либо обновить версии утилит, входящих в состав дистрибутива. Формат внутреннего хранилища при таких модификациях не изменяется. Данное обновление необходимо проводить, например, при изменении конфигурационных файлов, используемых утилит и расширений или при доработке кода самой БД, когда в формат внутреннего хранилища БД не вносятся никакие изменения, в том числе ни один из критериев перечисленных в списке «Критерии, определяющие необходимость проведения обновления СУБД Pangolin с переносом данных» не выполняется. Данный тип включает в себя запуск утилиты
pg_inplace_upgrade- это необходимо, если версия, на которую происходит обновление, содержит в себе изменения данных системного каталога, которые необходимо обновить. В старой терминологии для обозначения этого типа обновления использовалось «минорное обновление СУБД». - Обновление с переносом данных – процесс обновления более сложный, чем просто замена одних файлов другими. В данном случае процесс дополнительно усложнен необходимостью проведения тестов, проверяющих возможность обновиться, а также миграцией данных, так как при этом типе обновления вносятся изменения в формат внутреннего хранилища БД. Данное обновление необходимо проводить в случае, если выполняется один или несколько критериев перечисленных в списке «Критерии, определяющие необходимость проведения обновления СУБД Pangolin с переносом данных». В старой терминологии для обозначения этого типа обновления использовалось «мажорное обновление СУБД».
Критерии, определяющие необходимость проведения обновления СУБД Pangolin с переносом данных:
- изменение мажорной версии оригинального PostgreSQL;
- изменение состава или структуры системных каталогов;
- изменение состава или структуры встроенных функций;
- изменение состава или структуры встроенных представлений;
- изменение файловой структуры, в том числе алгоритма засекречивания;
- изменение состава конфигурационных файлов;
- изменение списка встроенных типов данных.
Таблица поддерживаемых для обновления версий СУБД
В остальных случаях (не отраженных в таблице) обновление на актуальную версию (7.3.2) невозможно.
В случае необходимости обновления с более ранней версии необходимо выполнить промежуточный этап обновления до версии 6.5.2. Инструкцию по обновлению на версию 6.5.2 смотрите в документации к дистрибутиву данной версии.
| Конфигурация | Тип обновления | Исходная версия |
|---|---|---|
| с СЗИ | Обновление с переносом данных | 6.5.2, 6.6.0, 6.6.1, 6.6.2, 6.6.3, 6.6.4, 6.6.5 |
| без СЗИ | Обновление с переносом данных | 6.5.2, 6.6.0, 6.6.1, 6.6.2, 6.6.3, 6.6.4, 6.6.5 |
| с СЗИ | Обновление исполняемых файлов | 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.3.0, 7.3.1 |
| без СЗИ | Обновление исполняемых файлов | 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.3.0, 7.3.1 |
Обозначение поля конфигурации
Тип конфигурации определен следующим образом:
- с СЗИ – включено хотя бы одно из СЗИ (TDE, защита параметров конфигурации, защита данных от привилегированных пользователей);
- без СЗИ – СЗИ отключены.
Для обновления СУБД с предустановленным расширением timescaledb требуется версия расширения 2.19.3. Произведите обновление версии расширения до необходимой, перед началом процесса обновления СУБД Pangolin.
Варианты сценариев обновления СУБД с предустановленным расширением timescaledb до версии 6.5.2, смотрите в документации к дистрибутиву данной версии.
Обновление стендов с предустановленными сторонними расширениями
При обновлении стендов с предустановленными расширениями PostGIS, pgrouting и pg_background необходимо учитывать следующие требования:
| Наименование расширения | Допустимые версии | Дополнительные требования |
|---|---|---|
PostGIS | 3.1.2, 3.3.4, 3.4.2, 3.5.2, 3.5.3 | Минимально допустимые версии сторонних зависимостей расширения: geos-3.9.*, sfcgal-1.3.*, proj-8.1.*, gdal-3.3.* |
pgrouting | 3.1.2, 3.5.0, 3.6.1 | – |
pg_background | 1.0 | – |
За более подробной информацией обратитесь к разделу «Дополнительные параметры для обновления».
Как определить версию, установленную на сервере
Для получения названия и версии продукта серверной части необходимо подключиться к серверу Pangolin и выполнить команды из таблицы ниже. Результат выполнения зависит от названия, номера версии и платформы, для которой была выполнена сборка.
| Действие | Команда | Тип значения | Примеры выполнения команды |
|---|---|---|---|
| Название продукта | SELECT version(); | Строковое значение | PostgreSQL 17.9 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; | Строковое значение | 17.9 |
SHOW server_version_num; | Числовое значение | 110007 | |
| Номер Pangolin версии | SHOW server_se_version; | Строковое значение | 7.3.2 |
SELECT product_version(); | Строковое значение | Platform V Pangolin DB 7.3.2 |
Выбор способа обновления
- Ручное обновление по инструкции выполняется на конечных узлах кластера СУБД. Стоит учитывать, что при ручном обновлении потребуется множество самостоятельных действий по проверке готовности к обновлению, а также созданию резервной копии. Ручное обновление дает возможность самостоятельно адаптировать СУБД под индивидуальные условия и требования к процессу обновления.
- Автоматизированное обновление предоставляет быстрый и удобный процесс за счет использования Ansible-скриптов. С помощью инструмента Pangolin Installer процесс обновления СУБД Pangolin становится более простым и интуитивно понятным, а вариант использования Ansible плейбука будет удобен для контроля над процессом. Автоматизированное обновление следует запускать на отдельном хосте, не входящем в кластер СУБД Pangolin.
Далее представлена небольшая сравнительная таблица:
| Ручное обновление | Автоматизированное обновление | |
|---|---|---|
| Требуемые действия | Максимальные | Минимальные |
| Вероятность ошибок, обусловленных человеческим фактором | Высокий риск | Риск отсутствует |
| Скорость установки | Длительная | Быстрая |
| Ручная работа на сервере экземпляра СУБД | Да (по SSH) | Нет |