E.19. Postgres Pro Enterprise 13.10.1
Дата выпуска: 2023-03-06
E.19.1. Обзор
Этот выпуск основан на PostgreSQL 13.10 и Postgres Pro Enterprise 13.9.1. Все изменения, унаследованные от PostgreSQL 13.10, описаны в Замечаниях к выпуску PostgreSQL 13.10. По сравнению с Postgres Pro Enterprise 13.9.1 эта версия также содержит следующие изменения:
Добавлен параметр enable_large_mem_buffers, позволяющий копировать и выгружать значения типов
byteaиtextбольшого размера. Этот параметр может быть задан только для текущего сеанса. Также был добавлен ключ--enable-large-mem-buffersдля утилит pg_dump и pg_dumpall. Утилита pg_restore теперь по умолчанию может восстанавливать такие значения.Улучшение производительности, ранее сниженной из-за многочисленных сбросов кеша. Данное улучшение было достигнуто благодаря уменьшению количества отправляемых серверными процессами друг другу сообщений о событиях аннулирования, касавшихся временных таблиц.
Устранена ошибка сегментации, которая могла возникать в PL/pgSQL при попытке удалить отдельное поле составного типа после завершения автономной транзакции.
Добавлена поддержка ОС РОСА «КОБАЛЬТ» Сервер 7.9 и прекращена поддержка ОС РОСА «КОБАЛЬТ» Сервер 7.3.
Исправлена проблема, связанная со значительным потреблением памяти при оптимизации запроса, содержащего большое количество подзапросов
UNION ALL. Эта проблема планировщика была следствием проблемы ванильной версии PostgreSQL с заменой переменных-заполнителей в особом случае выравнивания конечных запросовUNION ALL.Модуль aqo обновлён до версии 1.6, в которой появились новые возможности:
Добавлен «умный» тайм-аут операторов, который необходим для ограничения времени выполнения при ручном обучении aqo на специальных запросах с неудовлетворительным прогнозом количества строк. Расширение aqo может динамически изменять умный тайм-аут операторов во время этого обучения.
Добавлены функции
aqo_query_stat_update,aqo_data_updateиaqo_query_texts_updateдля изменения и добавления записи в файлы данных, на которых основано соответствующее представление.Добавлена функция
aqo_memory_usage, показывающая объём памяти, требуемый исключительно для aqo.Функции
aqo_enable_queryиaqo_disable_queryпереименованы вaqo_enable_classиaqo_disable_classсоответственно.
Устранена ошибка, из-за которой автоочистка не выполнялась на неиспользуемых ведущих серверах в расширении multimaster. Теперь логическая репликация корректно обновляет информацию в
pg_stat.Приложение pg_probackup обновлено до версии 2.6.1 Enterprise, которая обладает следующими возможностями:
Оптимизирован механизм ввода-вывода pg_probackup для повышения производительности.
Добавлена поддержка Simple Storage Service (S3) для хранения данных в частных облачных хранилищах. Интерфейс S3 был протестирован с объектным хранилищем MinIO и хранилищем VK Cloud. Обратите внимание, что pg_probackup обеспечивает полную обработку журналов интерфейса S3.
Добавлена поддержка CFS (сжатой файловой системы) для инкрементального копирования в режимах
DELTA,PAGEиPTRACK. Рекомендуется использовать режимPTRACKкак самый быстрый способ инкрементального копирования, но учтите, что для его работы необходимо расширение PTRACK версии 2.4.0 или выше.Добавлена поддержка алгоритмов сжатия
lz4иzstd.Прекращена поддержка Postgres Pro 9.6.
Расширение PTRACK обновлено до версии 2.4.1.
pgbouncer обновлён до версии 1.18.
Приложение pgpro_scheduler обновлено до версии 2.9, в которую были включены следующие изменения:
Исправлена ошибка в функции
schedule.resubmit, препятствовавшая корректному сохранению состояния выполненного задания. Кроме того, эта функция теперь может принимать 0 в качестве интервала времени: в этом случае задание перезапускается сразу после выполнения.Устранена проблема в функции
schedule.timetable, ранее приводившая к завершению функции ошибкой при вызове любым суперпользователем, кромеpostgres.
Приложение pgpro_stats обновлено до версии 1.5, в которой были исправлены некоторые ошибки и появились новые возможности:
Добавлен подсчёт статистики по снятию меток полной видимости и полной заморозки в карте видимости.
Добавлено представление
pgpro_stats_vacuum_database, показывающее статистику очистки каждой базы данных в кластере.Исправлена ошибка, которая могла вызвать крах сервера при установленном значении
allдля параметраpgpro_stats.track, когда тело функции обрабатывалось в pgpro_stats в виде составного запроса.Исправлено ошибочное появление предупреждения «unrecognized expression node type: ...» (нераспознанный тип узла), если в плане запроса попадался узел
GatherMerge.Исправлено возможное долгое выполнение запроса, содержавшего тексты документов в формате JSON и/или XML, из-за того, что во время нормализации текста плана запроса могла ошибочно происходить замена констант внутри текста таких документов.
Модуль pgpro_pwr обновлён до версии 4.1.2.
Расширение PLV8 обновлено до версии 3.1.5.
E.19.2. Миграция на версию 13.10.1
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Если вы хотите сохранить существующее представление карт видимости в pageinspect при миграции на текущую основную версию Postgres Pro Enterprise с использованием pg_upgrade, выполните команду VACUUM, прежде чем начинать обновление.
Если вы ранее мигрировали на Postgres Pro Enterprise версии 13.3.1 или ниже, обязательно перестройте индексы GIN, выполнив команду REINDEX.
Если вы используете PTRACK в процедуре резервного копирования, реализуемой c помощью утилиты pg_probackup, и обновляетесь с Postgres Pro Enterprise версии 13.2.2 или ниже, сделайте полную резервную копию базы данных после обновления.
Если в вашей инсталляции Postgres Pro Enterprise 13.2.1 имеются сжатые табличные пространства, созданные без явного выбора алгоритма pglz, произведите обновление следующим образом. До обновления выгрузите полный дамп, используя pg_dumpall. Обновите Postgres Pro Enterprise, пересоздайте кластер баз данных и восстановите все данные из дампа. Затем вы можете создать табличные пространства CFS по прежней схеме.
Если вы уже обновили инсталляцию Postgres Pro Enterprise 13.2.1 с табличными пространствами CFS и потеряли доступ к сжатым данным, обратитесь к службе поддержки.
Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 13.
E.19. Postgres Pro Enterprise 13.10.1
Release Date: 2023-03-06
E.19.1. Overview
This release is based on PostgreSQL 13.10 and Postgres Pro Enterprise 13.9.1. All changes inherited from PostgreSQL 13.10 are listed in PostgreSQL 13.10 Release Notes. As compared with Postgres Pro Enterprise 13.9.1, this version also provides the following changes:
Added enable_large_mem_buffers that allows to copy and dump large
byteaandtextvalues. This parameter can be defined only for the current session.--enable-large-mem-buffersoption for pg_dump and pg_dumpall was also added. pg_restore can restore such values by default now.Improved performance impacted by numerous cache resets by reducing the number of invalidation messages regarding temporary tables sent from backends to each other.
Fixed a segmentation fault, which might have occurred in PL/pgSQL when trying to remove a separate field of a composite type upon completion of an autonomous transaction.
Added support for ROSA COBALT Server 7.9 and ended support for ROSA COBALT Server 7.3.
Fixed suboptimal memory usage in optimizing a query that included a pretty large number of
UNION ALLsubqueries. This planner issue was due to a vanilla PostgreSQL issue with replacing placeholder variables in a special case of flatteningUNION ALLleaf queries.Upgraded aqo to version 1.6, which provides the following new features:
Introduced smart statement timeout, which is needed to limit the execution time when manually training aqo on special queries with a poor cardinality forecast and which aqo can dynamically change during this training.
Added
aqo_query_stat_update,aqo_data_updateandaqo_query_texts_updatefunctions to update or insert a record in data files underlying the respective view.Added
aqo_memory_usagefunction to display the memory size required for aqo.Renamed
aqo_enable_queryandaqo_disable_queryfunctions toaqo_enable_classandaqo_disable_class, respectively.
Fixed an issue with autovacuum not running on unused primaries in multimaster. Now logical replication correctly updates information in
pg_stat.Upgraded pg_probackup to version 2.6.1 Enterprise, which provides the following features:
Optimized pg_probackup input/output engine to improve performance.
Added Simple Storage Service (S3) support for storing data in private clouds. S3 interface was tested with MinIO object storage and VK Cloud storage. Note that pg_probackup provides complete processing of S3 interface logging.
Added CFS (Compressed File System) support for incremental backups in
DELTA,PAGE, andPTRACKmodes.PTRACKmode requires PTRACK 2.4.0 or higher and is recommended as the fastest mode for incremental backups.Added support for lz4 and zstd compression algorithm.
Ended support for Postgres Pro 9.6.
Upgraded PTRACK to version 2.4.1.
Upgraded pgbouncer to version 1.18.
Upgraded pgpro_scheduler to version 2.9, which provides the following changes:
Fixed the
schedule.resubmitfunction to save the state of the executed job correctly. Also, this function can now accept 0 as the time interval, in this case the job is resubmmitted immediately after execution.Fixed an issue with the
schedule.timetablefunction, which previously caused an error when the function was called by any superuser other thanpostgres.
Updraded pgpro_stats to version 1.5, which provides new features and bugfixes:
Added computation of statistics on removal of all-frozen and all-visible marks in the visibility map.
Added the
pgpro_stats_vacuum_databaseview, showing statistics about vacuuming each database in a cluster.Fixed possible crash of a server where
pgpro_stats.trackwas set toallthat could occur when pgpro_stats processed a function body as a multistatement query.Fixed inappropriate issuing of an “unrecognized expression node type: ...” warning in case a query plan contained a GatherMerge node.
Fixed too long execution of a query containing texts of JSON or XML documents of a special kind. The slowdown was possible because normalization of the query plan text could mistakenly include replacement of constants inside those documents.
Upgraded pgpro_pwr to version 4.1.2.
Upgraded the PLV8 extension to version 3.1.5.
E.19.2. Migration to Version 13.10.1
If you are upgrading from a Postgres Pro Enterprise release based on the same PostgreSQL major version, it is enough to install the new version into your current installation directory.
If you are migrating to the current major version of Postgres Pro Enterprise using pg_upgrade, and you want to keep the existing visibility map representation in pageinspect, you should run the VACUUM command before the upgrade.
If you have previously migrated to Postgres Pro Enterprise 13.3.1 or lower, you must run the REINDEX command to rebuild GIN indexes.
If you are upgrading from Postgres Pro Enterprise versions 13.2.2 or lower and take PTRACK backups using pg_probackup, retake a full backup after upgrade.
If you have an installation of Postgres Pro Enterprise 13.2.1 that contains compressed tablespaces created without explicitly specifying the pglz algorithm, perform an upgrade as follows. Before upgrading, make a complete dump using pg_dumpall. Upgrade Postgres Pro Enterprise, re-create your database cluster, and restore the dump. Then you can create compressed tablespaces in the same way as before.
If you have already upgraded your installation with CFS tablespaces from Postgres Pro Enterprise 13.2.1, and you cannot access the compressed data, call the support team.
To migrate from PostgreSQL, as well as Postgres Pro Standard or Postgres Pro Enterprise based on a previous PostgreSQL major version, see the migration instructions for version 13.