E.7. Postgres Pro Enterprise 16.1.1 #
Дата выпуска: 2023-12-25
E.7.1. Обзор #
Этот выпуск основан на PostgreSQL 16.1 и включает все новые возможности, появившиеся в PostgreSQL 16, а также исправления ошибок, вошедшие в корректирующий выпуск PostgreSQL 16.1. Подробное описание этих новшеств вы можете найти в замечаниях к выпускам PostgreSQL 16 и PostgreSQL 16.1 соответственно.
Список дополнительных модулей и утилит, добавленных в Postgres Pro Enterprise, а также перечень ключевых видимых пользователям изменений в ядре сервера по сравнению с ванильным PostgreSQL вы можете найти в Разделе 2. Ниже перечислены значимые отличия этой версии от Postgres Pro Enterprise 15.5.1:
Реализован механизм встроенной отказоустойчивости, которая достигается за счёт развёртывания кластера biha с физической репликацией, встроенным механизмом аварийного переключения узлов, автоматическим обнаружением сбоя узлов, реагированием и последующим изменением конфигурации кластера. Конфигурация такого кластера включает один выделенный узел-лидер и несколько узлов-последователей, которые могут быть как синхронными, так и асинхронными и управляются расширением bihactl. Новая функциональность обеспечивает защиту от сбоев серверов и систем хранения данных и не требует дополнительного внешнего кластерного ПО. Вариант кластера с двумя узлами и одним узлом-рефери будет поддерживаться в будущих выпусках. Протокол SSL/TLS канала управления
biha
в данный момент используется в экспериментальном режиме.Реализована защищённая схема, позволяющая защитить конфиденциальные данные от несанкционированного доступа злоумышленников путём назначения отдельной роли, называемой администратором безопасности и управляющей доступом к схеме и её объектам.
Добавлены новые предопределённые роли:
pg_create_tablespace
, позволяющая выполнять командуCREATE TABLESPACE
без прав суперпользователя.pg_manage_profiles
, позволяющая выполнять командыCREATE PROFILE
,ALTER PROFILE
иDROP PROFILE
без прав суперпользователя.
Добавлены системные представления
pg_stats_vacuum_tables
,pg_stats_vacuum_indexes
иpg_stats_vacuum_database
, показывающие статистики очистки таблиц, индексов и баз данных соответственно. Ранее эти статистики были доступны в pgpro_stats.Модуль aqo обновлён до версии 2.0, в которую включены следующие основные изменения и усовершенствования:
Настройка и использование модуля упрощены. Теперь поведение aqo в основном зависит от трёх параметров конфигурации:
aqo.enable
,aqo.mode
иaqo.advanced
, которые соответственно определяют состояние aqo, режим его работы и то, собирается ли статистика изолированно по запросам.При значениях параметров конфигурации по умолчанию устанавливается рекомендуемый основной режим, в котором статистика собирается для узлов плана, а собранные данные машинного обучения используются для исправления погрешностей оценки количества строк для всех запросов, план которых содержит определённый узел плана.
Модуль aqo теперь может работать независимо с несколькими базами данных.
Чтобы мгновенно отключить/включить aqo на уровне базы данных, теперь достаточно выполнить команду
DROP/CREATE EXTENSION
.Уменьшено потребление памяти.
Приложение pg_probackup обновлено до версии 2.7.0 Enterprise, в которой улучшена производительность, добавлены новые возможности и исправлены некоторые ошибки. Основные изменения перечислены ниже:
Слияние инкрементальных резервных копий сделано совместимым с S3: вместо переименования папок используются ссылки (symlink).
Добавлен параметр
--show-symlinks
в командуshow
для отображения ссылок, полученных в результате слияния инкрементальных резервных копий.Слияние резервных копий теперь выполняется без создания временных локальных файлов.
Оптимизирована работа с памятью при восстановлении длинной последовательности инкрементальных резервных копий больших баз данных. Теперь для восстановления БД из нескольких тысяч таблиц и 100 инкрементальных копий требуется почти в три раза меньше памяти.
Добавлена возможность указать значения
latest
иcurrent
для параметра--recovery-target-timeline
. Кроме того, исправлено поведение параметра--recovery-target
при указании для него значенияlatest
.
Расширение pg_hint_plan обновлено до версии 1.6.0.
Добавлено расширение pgpro_bfile, предоставляющее составной тип
bfile
и реализующее подобную Oracle технику доступа к внешнему файлу или S3 (Simple Storage Service).Добавлено расширение pgpro_rp, обеспечивающее приоритизацию ресурсов путём назначения плана приоритизации ресурсов определённому сеансу, что может замедлять работу этого сеанса в зависимости от количества процессоров, операций чтения и записи, ресурсов, которые этот сеанс потребляет по сравнению с другими сеансами.
Добавлен параметр конфигурации sr_plan.auto_tracking, позволяющий sr_plan автоматически нормализовать и регистрировать запросы, выполняемые с использованием команды
EXPLAIN
.Расширение utl_http, позволяющее получать доступ к данным в Интернете по протоколу HTTP (HTTP/1.0 и HTTP/1.1), выполняя HTTP-вызовы из SQL и PL/pgSQL.
Добавлено расширение utl_smtp, предназначенное для отправки электронных писем по протоколу SMTP из PL/pgSQL.
Добавлено расширение utl_mail, предназначенное для управления электронными письмами, включая управление часто используемыми возможностями электронной почты, такими как вложение, копия и скрытая копия.
Примечание
В этом выпуске для подписок игнорируется значение parallel
параметра streaming
(streaming = parallel
) и не используются параллельные процессы применения изменений.
Предупреждение
При использовании новых возможностей Postgres Pro Enterprise 16.1.1 на устаревших операционных системах, таких как РОСА «КОБАЛЬТ» 7.9, Rosa Enterprise Linux Server 7.3, AlterOS 7 или SLES 12, могут возникнуть проблемы, связанные с тем, что эти ОС включают устаревшие версии OpenSSL. Пользователям следует рассмотреть возможность перехода на более новые версии ОС.
E.7.2. Миграция на версию 16 #
Вы можете перейти на Postgres Pro Enterprise 16 с той же или предыдущей версии PostgreSQL (которая поддерживается выбранным способом обновления) или Postgres Pro Standard/Postgres Pro Standard Certified, а также с предыдущей версии Postgres Pro Enterprise/Postgres Pro Enterprise Certified. То же самое справедливо для перехода на Postgres Pro Enterprise Certified 16. Способы обновления кластера базы данных описаны в Разделе 18.6. Если у вас возникнут проблемы при переходе на новую версию, обратитесь в службу поддержки Postgres Pro Enterprise. Обратный переход не поддерживается. Обратите внимание, что переход с Postgres Pro Enterprise на Postgres Pro Enterprise Certified той же основной версии (или наоборот) — это обновление на совместимую версию Postgres Pro (за подробным описанием обратитесь к Разделу 18.6).
Для перехода с PostgreSQL, Postgres Pro Standard или выпуска Postgres Pro Enterprise, основанного на предыдущей основной версии PostgreSQL, сначала установите его последний корректирующий выпуск, а затем выполните выгрузку/восстановление данных, применив pg_dumpall, или воспользуйтесь pg_upgrade.
Если вы решите использовать pg_upgrade, важно инициализировать новый кластер баз данных с совместимыми параметрами. В частности, обратите внимание на характеристику контрольных сумм в кластере, который вы будете обновлять. Если pg_upgrade создаст какие-либо скрипты SQL в текущем каталоге, выполните их для завершения обновления.
При переходе с PostgreSQL или Postgres Pro Standard обязательно уделите внимание особенностям реализации, связанным с 64-битными идентификаторами транзакций. Если вы ранее использовали явные приведения идентификаторов транзакций к 32-битным целым, вы должны заменить их на приведения к типу bigint
, так как 64-битные идентификаторы транзакций имеют такой тип.
Примечание
Во избежание конфликтов не используйте пакет postgrespro-ent-16
для установки исполняемых файлов Postgres Pro, а установите вместо него отдельные пакеты компонентов продукта. В этом случае режим автозапуска сервера, если он требуется, нужно будет включить вручную. Подробнее о предоставляемых пакетах и вариантах установки вы можете узнать в Главе 17.
Другие особенности обновления, присущие и ванильной версии PostgreSQL, описаны в Разделе E.12.