Публичный манифест релизной политики СУБД Postgres Pro
Основные понятия
Релиз — выпуск определённой версии программного продукта для пользователей. Релиз включает изменения и улучшения согласно дорожной карте продукта, планируется заранее и выходит с определённым интервалом.
Версия — фиксированное состояние продукта на дату релиза или релизная версия. Различают мажорные, минорные версии продукта и патч-версии продукта.
Редакция — обособленный продукт, обладающий уникальным функционалом и свойствами, имеющий свою нумерацию версий и лексическое различие в названии от других продуктов, а так же пути распространения.
Кастомная сборка — скомпилированная редакция продукта определённой версии, в которую внесли изменения, чтобы решить задачу заказчика или исследовать конкретную ситуацию.
Сборка — скомпилированная редакция продукта определённой версии.
Продукт — функционально законченный комплекс программ, имеющий свою отдельную кодовую базу (репозиторий для разработки) и свою документацию, а также своего владельца (правообладателя, вендора), который определяет текущее использование и дальнейшее развитие продукта (и, соответственно, свою нумерацию версий).
Компонет поставки — это отделимая часть редакции, с которой продукт получает дополнительные или особенные потребительские свойства.
Поставка — Версия определенной редакции продукта передаваемая заказчикам. Поставка может состоять из различного числа компонент и обладать разными свойствами, в зависимости от потребностей и условий и потребностей заказчика.
Редакции СУБД
Релизы СУБД Postgres Pro основаны на релизах СУБД международного сообщества PostgreSQL. На базе одного релиза СУБД PostgreSQL строится несколько редакций Postgres Pro, которые включают в себя различные дополнения и изменения.
Сейчас мы производим релизы шести редакций СУБД:
- Postgres Pro Enterprise — флагманская редакция СУБД Postgres Pro для высоконагруженных систем. Включает более 100 основных разработок, среди которых BiHA, поддержка пакетов Oracle, приоритизация ресурсов, интеллектуальная система оптимизации запросов, 64-битные счётчики транзакций, маскирование данных, диагностический модуль pgpro_pwr, функция администратора без доступа к данным, графическая платформа PPEM и многое другое. Содержит самую полную оптимизацию для работы с платформой «1С:Предприятие».
- Postgres Pro Standard — редакция СУБД Postgres Pro с возможностями инкрементального резервного копирования. Поддерживает секционирование таблиц, усовершенствованный полнотекстовый поиск, работу с покрывающими индексами, утилиту pg_probackup, расширение pgpro_pwr, графическую платформу PPEM и т. д.
- Postgres Pro Certified и Postgres Pro Enterprise Certified — сертифицированные ФСТЭК редакции. Обладают всеми возможностями Postgres Pro Standard и Postgres Pro Enterprise соответственно. Включают средства защиты от несанкционированного доступа к информации, контроль целостности исполняемых файлов и другие функции безопасности.
- PostgreSQL для 1C — содержит ряд изменений по сравнению с PostgreSQL для работы с платформой 1С.
- PostgreSQL для Windows — собирается из исходников международного сообщества PostgreSQL и не содержит дополнительных правок и изменений.
Версионирование релизов
Релизы продуктов компании версионируются аналогично продукту международного сообщества PostgreSQL следующим образом:
XX.YY(.ZZ)
где:
- XX — мажорный релиз;
- YY — минорный релиз, выпускаемый на основе продукта от международного сообщества PostgreSQL и включающий в себя большинство функций, добавленных в версию редакции продукта;
- ZZ — патч, выпускаемый на основе продукта от международного сообщества PostgreSQL и включающий доработку функциональности и исправление ошибок указывается в продуктах Standard и Enterprise.
Поддержка версий продукта
Поддержка версий выпускаемых редакций продукта, основана на релизном расписании международного сообщества PostgreSQL и следует за ним. Глобальная группа разработчиков PostgreSQL выпускает новую основную версию, содержащую новые функции, примерно раз в год. Каждая основная версия получает исправления ошибок и, при необходимости, исправления безопасности, которые выпускаются не реже одного раза в три месяца в составе минорного релиза.
Компания Postgres Pro выпускает свои редакции на основе мажорных версий глобального продукта и его миноров, обычно с небольшой задержкой, требуемой для внесения нового актуального функционала в мажор и исправления ошибок в рамках планового релиза. При этом гарантируем совместимость по PGDATA в минорных версиях, что включает в себя:
- Неизменность всех форматов хранения
- Неизменность системного словаря. Неизменность словаря обозначает неизменность названий функций и их аргументов.
- Поддерживаем обратную совместимость функционала минорных версий с несколькими исключениями, которые могут помешать её сохранить:
- исправления безопасности (CVE и подобное) могут приводить к изменениям в поведении существующих функций,
- функционал расширений может меняться,
- новый нестабильный функционал.
Если команда выпуска Postgres Pro определит, что критическая ошибка или исправление системы безопасности слишком важны, чтобы ждать до регулярно запланированного минорного релиза, она может выпустить внеплановую версию минорного релиза основанного на миноре глобального продукта но с увеличенной инкрементально на 1 номером патча.
Если со стороны Глобальной Команды разработчиков, принято решение выпустить следующий минор ванильного продукта, а миноры компании Postgres Pro еще не выпущены, то происходит пропуск уже запланированного минора и выпуск релизов происходит уже на основе последнего минора от Глобальной Команды Разработчиков.
Следуя за Глобальной группой разработчиков PostgreSQL, Postgres Pro поддерживает основную версию в течение 5 лет после ее первоначального выпуска. После этого будет выпущена последняя минорная версия и затем, программное обеспечение остается доступным в репозитории но для него перестают выходить обновления и перестает осуществляться починка багов.
Таким образом, каждый квартал Postgres Pro обычно выпускает, без учета внеплановых релизов, 5 минорных версий каждой редакции кроме 4го квартала, когда выходит новая мажорная версия - 6я для всех редакций.
Распространение и доставка версий продуктов
Продукт распространяется следующими способами:
- в виде пакетов для пакетных менеджеров программных и аппаратных платформ. Пакеты публикуются в официальном публичном репозитории repo.postgrespro.ru;
- в виде SFX-архивов с репозиторием для подключения к пакетным менеджерам в закрытом контуре;
- в виде ISO-образов для сертифицированных систем. Образы содержат репозиторий пакетов для пакетного менеджера и передаются непосредственно клиенту.
Выпуск внеплановой сборки
Такой выпуск происходит, когда обнаруживается опасность потери данных,
критического замедления работы или несанкционированных завершениях работы СУБД, но не ограничиваясь этими случаями, при эксплуатации версии продукта в двух случаях:
- в процессе эксплуатации или тестирования у конечного пользователя
- во время тестирования в компании
Исправление выходит в виде минорного релиза с инкрементально увеличенным на 1 номером патча или в формате специальной кастомной сборки версии для конкретного эксплуатанта.
Выпуск кастомного релиза
В некоторых случаях со стороны представителей «Постгрес Профессиональный» может быть предложено использовать кастомный релиз для диагностики трудно воспроизводимой проблемы, выдачи срочного исправления или апробации экспериментального функционала.
При этом, диагностические и экспериментальные выдачи не могут использоваться для промышленной эксплуатации, кроме случаев, когда это явно разрешено компанией Postgres Pro, а кастомные версии сборок со срочными исправлениями должны быть заменены на соответствующие версии планового релиза, как только в него войдут необходимые изменения.
Основные принципы поддержки дистрибутивов
Поддержка программных платформ – дистрибутивов ОС осуществляется на основании востребованности данного дистрибутива клиентами и его поддержки производителем.
Заканчивается поддержка производителя дистрибутива – заканчивается и его поддержка в мажорных и минорных релизах нашего продукта.
Редакции продукта собираются для:
- Нескольких дистрибутивов от компании Базальт – AltLinux.
- Основанных на стабильных выпусках Debian.
- RHEL и RHEL-based.
- LTS дистрибутивов Ubuntu.
- Отечественных дистрибутивов Linux, особенно имеющих сертификацию ФСТЭК.
Набор поддерживаемых дистрибутивов может отличаться в зависимости от продукта и версии.
Для редакции Standard реализуется поддержка максимального количества дистрибутивов и для редакции Enterprise этот набор меньше. Для сертифицированных версий он ограничен дистрибутивами, имеющими сертификат ФСТЭК.
Правила поддержки некоторых дистрибутивов
- ОС Ubuntu поддерживают редакции 1C, Standard, Enterprise для LTS выпусков и редакции 1C, Standard для no-LTS выпусков ОС.
- ОС Windows поддерживают только редакции 1С и PostgreSQL международного сообщества. Редакции Standard и Enterprise версии 15 и старше не поддерживают ОС Windows.
- Для дистрибутивов группы «Астра» выпускаются редакции Enterprise и Standard, которые поддерживаются на различных аппаратных платформах.
- ОС AltLinux поддерживают два дистрибутива платформы Alt с редакциями Enterprise и Standard.
- RedOS поддерживают редакции 1С, Enterprise и Standard.
- Сертифицированные редакции, например, Postgres Pro Enterprise Certified и Postgres Pro Certified, поддерживают разные платформы.
Уведомление о прекращении поддержки дистрибутивов
Перед исключением поддержки дистрибутива операционной системы в Release Notes публикуются уведомления:
- о прекращении поддержки дистрибутива в следующем релизе.
Это уведомление публикуется в Release Notes минорного релиза, который предшествует финальному релизу с поддержкой исключаемого дистрибутива; - о прекращении поддержки дистрибутива.
Это уведомление публикуется в Release Notes финального минорного релиза с поддержкой исключаемого дистрибутива.
Поддержка аппаратных платформ
Для различных аппаратных платформ предусмотрены отдельные релизы продуктов. Поддержка платформ зависит от их востребованности на рынке и требований заказчиков.
Текущие поддерживаемы редакции, собираются под одну или несколько приведенных в таблице платформ:
Неформальное название | Название в RPM и Linux kernel | Название в Debian и Astra | Особенности поддержки аппаратных платформ |
---|---|---|---|
Интел-совместимые 64-бит | x86_64 | amd64 | i386 не поддерживается. |
ARM 64-битные | aarch64 | arm64 | arm32 не поддерживается. |
Эльбрус 4C | e2k (e2Kv3) | e2k-4c | e2kv6 — не поддерживается. e2kv5 - e2k-8c2 — не поддерживаются |
Эльбрус 8С | e2kv4 | e2k-8c |