E.1. Postgres Pro Standard 18.0.1 #

Дата выпуска: 2024-11-12

E.1.1. Обзор #

Этот выпуск основан на PostgreSQL 18 и включает все новые возможности, появившиеся в PostgreSQL 18. Их подробное описание вы можете найти в Замечаниях к выпуску PostgreSQL 18. Ниже перечислены другие основные изменения и усовершенствования:

  • Добавлены новые параметры OLD_PASSWORD_TIME и OLD_PASSWORD_MAX для команд CREATE PROFILE и ALTER PROFILE. Эти параметры необходимы для аутентификации с помощью старого пароля. OLD_PASSWORD_TIME определяет, как долго можно использовать старый пароль для аутентификации наряду с новым. OLD_PASSWORD_MAX задаёт максимальное количество попыток аутентификации со старым паролем до его блокировки. Для отображения информации, связанной со старыми паролями, в каталог pg_role_password были добавлены поля oid и passloginattempts, а в каталог pg_profile — поля pfloldpasswordtime и pfloldpasswordmax.

  • Реализовано обязательное маскирование паролей в журнале сервера для защиты конфиденциальных данных.

  • Добавлен новый параметр конфигурации compute_plan_id, который позволяет включать и отключать вычисление идентификаторов плана запроса в ядре. Также в представление pg_stat_activity добавлено поле plan_id для отображения идентификаторов планов.

  • Добавлен новый параметр конфигурации enable_extra_transformations, который управляет дополнительными преобразованиями связанных подзапросов ANY в соединения с LATERAL. Этот параметр заменяет параметры enable_any_to_lateral_transformation и enable_extra_transformations, которые были удалены.

  • Добавлены новые значения переменной окружения PGPRO_TUNE, используемой initdb.

  • Унаследована ванильная реализация автоматического удаления ненужных замкнутых соединений таблиц. Удалён соответствующий параметр конфигурации enable_self_join_removal; вместо него используйте enable_self_join_elimination.

  • Удалены функции pgpro_version, pgpro_edition и pgpro_build, признанные устаревшими. Используйте вместо них параметры конфигурации pgpro_version, pgpro_edition и pgpro_build.

  • Прекращена поддержка ОС Ubuntu 25.04 и Debian 11.

  • Модуль aqo обновлён до версии 4.0, реализующей оптимизации, которые улучшают производительность и значительно сокращают накладные расходы на планирование запросов.

  • Обновлено расширение pg_proaudit. Включены следующие усовершенствования:

    • Добавлена поддержка регистрации следующих типов событий: ANALYZE, DISCARD ALL, DISCARD PLANS, DISCARD SEQUENCES, DISCARD TEMP (для временных таблиц), CHECKPOINT, FETCH и MOVE.

    • Добавлен новый класс событий MISC. Этот класс позволяет регистрировать все события (включая перечисленные выше), не относящиеся к другим классам.

    • Добавлено новое поле в журнал событий: название приложения. Теперь записи о событиях AUTHENTICATE содержат не только параметры подключения, но и название инициирующего приложения.

  • Модуль pgpro_pwr обновлен до версии 4.11, в которую включены усовершенствования и исправления. Основные изменения перечислены ниже:

    • Улучшено отслеживание времени функцией take_sample.

    • Добавлена возможность исключать из дампов строки подключения к серверу.

    • В отчёты добавлена доступная статистика по точкам перезапуска.

  • Улучшено поведение pgpro_stats аналогично pro_stat_statements. Включены следующие изменения:

    • Возможность параметризации значений SET.

      Это позволяет сократить раздувание, которое возникает из-за операторов SET с отличающимися константами.

    • Возможность параметризации списков констант.

  • Модуль orafce обновлён до версии 4.16.1.

  • Утилита pg_filedump обновлена до версии 18.0.

  • Приложение pg_probackup обновлено до версии 2.8.11.

  • Утилита pgpro_controldata обновлена до версии 18.0.1.

  • Расширение pgvector обновлено до версии 0.8.1.

  • Расширение tds_fdw обновлено до версии 2.0.5.

  • Отключён online_analyze. Не рекомендуется использовать этот модуль с современными версиями . Однако при необходимости его можно включить.

Список расширений и дополнительных утилит Postgres Pro Standard, а также основных видимых пользователю отличий от ванильной версии PostgreSQL приведён в Разделе 2.

E.1.2. Миграция на версию 18 #

Вы можете перейти на Postgres Pro Standard 18 с той же или предыдущей версии PostgreSQL (которая поддерживается выбранным способом обновления) и с предыдущей версии Postgres Pro Standard или Postgres Pro Standard Certified. То же самое справедливо для перехода на Postgres Pro Standard Certified 18. Способы обновления кластера базы данных описаны в Разделе 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 в текущем каталоге, выполните их для завершения обновления.

При обновлении инсталляции версии 10 или ниже рекомендуется выполнять выгрузку/восстановление данных. При этом возможные нарушения ограничений вам придётся устранить вручную. Если вариант с выгрузкой данных для вас неприемлем, использовать метод pg_upgrade, при котором в некоторых случаях может нарушиться целостность индексов и ограничений, следует при участии специалистов поддержки Postgres Pro Standard.

Примечание

Во избежание конфликтов не используйте пакет postgrespro-std-18 для установки исполняемых файлов Postgres Pro, а установите вместо него отдельные пакеты компонентов продукта. В этом случае режим автозапуска сервера, если он требуется, нужно будет включить вручную. За подробной информацией о предоставляемых пакетах обратитесь к Главе 16.

Особенности обновления, унаследованные от ванильной версии PostgreSQL, описаны в Разделе E.2.