E.19. Postgres Pro Standard 14.1.1
Дата выпуска: 2021-12-01
E.19.1. Обзор
Этот выпуск основан на PostgreSQL 14.1 и включает все новые возможности, появившиеся в PostgreSQL 14, а также исправления ошибок, вошедшие в PostgreSQL 14.1. Их подробное описание вы можете найти в Замечаниях к выпуску PostgreSQL 14 и в Замечаниях к выпуску PostgreSQL 14.1, соответственно. Ниже перечислены другие основные изменения и усовершенствования:
Удалено расширение sr_plan.
Добавлены расширенные механизмы обеспечения безопасности в Postgres Pro Standard:
Расширение pg_proaudit, позволяющее отслеживать различные события, связанные с безопасностью.
Расширенные политики аутентификации, обеспечивающие эффективное управление паролями и контроль доступа. (См. CREATE PROFILE и ALTER ROLE).
Встроенные проверки целостности исполняемых файлов, файлов конфигурации и системных таблиц. (Только сертифицированная редакция.)
Встроенные механизмы защиты данных, которые позволяют стерилизовать объекты, перед удалением заполняя их нулями. Обнуление объектов может производиться перед удалением файлов на диске и перед удалением устаревших версий строк (очисткой страниц), освобождением ОЗУ и удалением или перезаписью файлов WAL. (Только сертифицированная редакция.)
Приложение mamonsu обновлено до версии 3.1.0, поддерживающей Postgres Pro 14 и добавляющей новую возможность команде
bootstrap
. Теперь, если параметр-dbname
не указан явно, он автоматически примет значение, соответствующее имени базы данных, которое указано в разделе[postgres]
файла конфигурации mamonsu.Обновлено расширение pgpro_pwr. Основные улучшения новой версии:
В отчёт добавлен раздел «Load distribution» (Распределение нагрузки), в котором показывается, как распределена нагрузка по сильно загруженным объектам, таким как базы данных, приложения, узлы или пользователи, в разрезе ресурсов (общее время или количество записанных общих блоков и т. п.), в виде линейчатых диаграмм.
Добавлены таблицы отчётов «Session statistics by database» (Статистика сеансов по базам данных) и «WAL statistics» (Статистика WAL) на основании новых представлений и полей, появившихся в Postgres Pro 14.
Удалена команда
WAITLSN
.
Список расширений и дополнительных утилит Postgres Pro Standard, а также основных видимых пользователю отличий от ванильной версии PostgreSQL приведён в Разделе 2.
E.19.2. Миграция на версию 14
Вы можете перейти на Postgres Pro Standard 14 с той же или предыдущей версии PostgreSQL (которая поддерживается выбранным способом обновления) и с предыдущей версии Postgres Pro Standard. То же самое справедливо для перехода на Postgres Pro Standard Certified 14. Способы обновления кластера базы данных описаны в Разделе 17.6. Если у вас возникнут проблемы при переходе на новую версию, обратитесь в службу поддержки Postgres Pro Standard. Обратный переход не поддерживается. Обратите внимание, что переход с Postgres Pro Standard на Postgres Pro Standard Certified той же основной версии (или наоборот) — это обновление на совместимую версию Postgres Pro (за подробным описанием обратитесь к Разделу 17.6).
Для перехода с PostgreSQL или выпуска Postgres Pro Standard, базирующегося на предыдущей основной версии PostgreSQL, сначала установите его последний корректирующий выпуск, а затем выполните выгрузку/восстановление данных, применив pg_dumpall, или воспользуйтесь pg_upgrade:
Если вы решите использовать pg_upgrade, важно инициализировать новый кластер баз данных с совместимыми параметрами. В частности, обратите внимание на характеристику контрольных сумм и выбор провайдера основного правила сортировки в кластере, который вы будете обновлять. Если pg_upgrade создаст какие-либо скрипты SQL в текущем каталоге, выполните их для завершения обновления.
Если вы выбираете вариант с выгрузкой/восстановлением данных, не забудьте при выгрузке добавить ключ
--add-collprovider
, чтобы для обновляемой базы данных был установлен правильный провайдер основного правила сортировки.
Понять, какое правило сортировки является основным в старом кластере и какой провайдер оно использует, можно по значению datcollate
для базы данных template0
в каталоге pg_database. Если вы производите обновление с версии, в которой провайдер основного правила сортировки не задан, опустите указание провайдера при переходе с предыдущих версий Postgres Pro или выберите провайдер libc
при переходе с ванильного PostgreSQL.
Помимо этого, учтите описанные ниже особенности обновления, связанные с изменениями в использовании правил сортировки.
В Windows инсталляции Postgres Pro Standard могли содержать базы данных с правилами сортировки по умолчанию, использующими ICU, в которых имя правила имело синтаксически правильный формат языка BCP 47, но неправильный код языка или другие параметры, в результате чего это правило сортировки оказывалось недействительным для ICU.
Если эта проблема затрагивает вашу базу данных template0
, при попытке инициализировать новый кластер с тем же правилом сортировки вы получите следующее сообщение об ошибке: failed to get the canonical name for collation locale
(не удалось получить каноническое имя для локали правила сортировки). В этом случае выполнить обновление можно только путём выгрузки/восстановления данных, задав для нового кластера подходящую локаль для выбранного провайдера правил сортировки.
Если эта проблема затрагивает другие базы данных, вы получите то же сообщение об ошибке, что и при попытке создания в Postgres Pro нового кластера с некорректным правилом сортировки. Вы можете попытаться решить эту проблему следующим образом:
Выгрузите базу данных, используя pg_dump; при этом необходимо указать параметры
--create
и--format=plain
.Смените в выгруженном файле провайдер основного правила сортировки с
'@icu'
на'@libc'
.Восстановите изменённое содержимое базы в psql для завершения обновления. Эта операция может прерваться ошибкой, если окажутся нарушенными какие-либо ограничения, зависящие от правил сортировки в базе данных. В этом случае вы можете попытаться разрешить эти проблемы вручную.
При обновлении инсталляции версии 10 или ниже рекомендуется выполнять выгрузку/восстановление данных. При этом возможные нарушения ограничений вам придётся устранить вручную. Если вариант с выгрузкой данных для вас неприемлем, использовать метод pg_upgrade, при котором в некоторых случаях может нарушиться целостность индексов и ограничений, следует при участии специалистов поддержки Postgres Pro Standard.
Примечание
Во избежание конфликтов в системах Linux не используйте пакет postgrespro-std-14
для установки исполняемых файлов Postgres Pro, а установите вместо него отдельные пакеты компонентов продукта. В этом случае режим автозапуска сервера, если он требуется, нужно будет включить вручную. Подробнее о предоставляемых пакетах вы можете узнать в Главе 16.
Особенности обновления, унаследованные от ванильной версии PostgreSQL, описаны в Разделе E.33.