E.2. Postgres Pro Standard 17.0.1 #

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

E.2.1. Обзор #

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

  • Добавлены подкоманды SPLIT PARTITION и MERGE PARTITIONS в команду ALTER TABLE. Подкоманды позволяют улучшить управление секционированными таблицами: первая разделяет одну секцию на несколько, вторая объединяет несколько секций в одну.

  • Удалена возможность создания конструкций с вызовом функции JSON_EXISTS() с предложением RETURNING, которое в более ранних версиях позволяло возвращать значения любого типа. Этот синтаксис не поддерживается стандартом SQL/JSON, согласно которому предикат JSON_EXISTS() должен возвращать только TRUE, FALSE или UNKNOWN.

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

  • Драйвер ODBC обновлён до версии 17.00.0002.

  • Модуль aqo обновлён до версии 3.0, в которую включены следующие основные изменения и усовершенствования:

    • Реализован режим «песочницы», позволяющий работать в изолированной среде, не затрагивая основную базу знаний aqo. Этот режим можно включить как на ведущем, так и на резервном узле, установив для параметра aqo.sandbox значение on.

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

  • Расширение oracle_fdw обновлено до версии 2.7.0.

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

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

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

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

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

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

    • Новые таблицы отчётов, в частности касающиеся состояний сеансов.

    • Поддержка новых статистик Postgres Pro 17.

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

  • Расширение pgpro_stats обновлено до версии 1.8, в которой добавлена поддержка Postgres Pro 17. Основные изменения перечислены ниже:

    • Обновлены представления pgpro_stats_statements и pgpro_stats_totals, чтобы включить новые поля, добавленные в модуль pg_stat_statements. Также были обновлены соответствующие функции.

    • Упрощён доступ к представлениям и функциям. В частности, всем пользователям был предоставлен доступ к представлениям pgpro_stats_archiver, pgpro_stats_vacuum_database, pgpro_stats_vacuum_tables и pgpro_stats_vacuum_indexes. Ранее для этих представлений требовалось явное предоставление прав доступа. Доступ к выполнению функции pgpro_stats_trace_reset, которая ранее могла быть выполнена любым пользователем, теперь ограничен суперпользователями.

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

  • Расширение pg_wait_sampling обновлено для отслеживания идентификаторов подзапросов и операторов утилит. Также был добавлен параметр pg_wait_sampling.sample_cpu, который позволяет указать режим обработки показаний, определяющий, следует ли выполнять обработку показаний процессов, использующих ЦП.

  • Расширение PLV8 обновлено до версии 3.2.3.

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

  • Удалено признанное устаревшим расширение pg_pathman.

  • Прекращена поддержка AlterOS 7, Альт 8.2 СП, Альт 9, Debian 10, SLES 12, Ubuntu 23.10.

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

E.2.2. Миграция на версию 17 #

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

Если вы мигрируете с Postgres Pro Standard версии 16 или 15 и база данных содержит объекты, использующие недопустимый синтаксис JSON_EXISTS() с RETURNING, удалите их или замените на корректные, прежде чем выполнять обновление.

Если вы решите использовать pg_upgrade, важно инициализировать новый кластер баз данных с совместимыми параметрами. В частности, обратите внимание на характеристику контрольных сумм в кластере, который вы будете обновлять. Если pg_upgrade создаст какие-либо скрипты SQL в текущем каталоге, выполните их для завершения обновления.

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

Примечание

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

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