E.1. Postgres Pro Enterprise 13.23.1

Дата выпуска: 2025-12-15

E.1.1. Обзор

Важно

Этот выпуск Postgres Pro Enterprise должен стать последним в серии 13. Пользователям следует поторопиться с переходом на более новую основную версию Postgres Pro Enterprise.

Этот выпуск основан на PostgreSQL 13.23 и Postgres Pro Enterprise 13.22.1. Все изменения, унаследованные от PostgreSQL 13.23, описаны в Замечаниях к выпуску PostgreSQL 13.23. По сравнению с Postgres Pro Enterprise 13.22.1 эта версия также содержит следующие изменения:

  • Улучшен механизм поиска схожих строк типов mchar и mvarchar с использованием оператора LIKE. Оптимизированное сравнение без учёта регистра значительно ускоряет поиск. Может быть полезно для 1C.

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

  • Улучшена производительность для случаев, когда приоритизация ресурсов выключена.

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

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

  • Ограничено максимальное количество присваиваемых идентификаторов транзакций, теперь оно равняется 263. Кроме того, при достижении порогового значения в 10 миллионов XID теперь выводится предупреждение. При достижении максимального количества XID новые транзакции перестают запускаться, но запросы только на чтение продолжают выполняться.

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

  • Добавлено расширение pg_trgm_mchar, которое обеспечивает быстрый поиск cхожих строк типов mchar и mvarchar на основе триграмм. Это расширение также обеспечивает поддержку индексов GIN для типов mchar и mvarchar. Может быть полезно для 1C.

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

    • Устранена проблема, из-за которой multimaster возвращал ошибку при выполнении транзакций на чтение и запись, содержавших запросы к сторонним таблицам postgres_fdw. Основная причина ошибки была в том, что postgres_fdw не поддерживает транзакции с двухфазной фиксацией, которые использует multimaster. Для решения проблемы был реализован параметр конфигурации postgres_fdw.read_only_transactions. Если параметр имеет значение on, включается возможность выполнять запросы на чтение к сторонним таблицам в транзакциях на чтение и запись, что обеспечивает стабильную работу multimaster и postgres_fdw.

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

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

  • Обновлён модуль pageinspect. В новой версии исправлена ошибка функции page_header, которая выводила некорректную информацию для страниц double xmax и некоторых страниц индексов. В частности, была перепутана последовательность столбцов и значение prune_xid выводилось в столбце xid_base. Теперь информация выводится корректно.

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

  • Расширение pg_hint_plan обновлено до версии 1.3.11.

  • Расширение pg_portal_modify обновлено до версии 0.3.6.

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

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

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

    • Добавлен новый метод регистрации событий безопасности. Теперь события безопасности в формате CEF можно не только записывать в отдельный файл, но и передавать в syslog.

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

    • Исправлена проблема, из-за которой pg_proaudit не регистрировал события безопасности в файл CEF.

    • Исправлена проблема, из-за которой расширение pg_proaudit не регистрировало события для команды INSERT после CREATE в анонимных блоках кода (команда DO) и хранимых процедурах/функциях.

    • Исправлена ошибка, приводившая к чрезмерной нагрузке на ядро процессора из-за сбоя ротации журналов в pg_proaudit.

  • Приложение pg_probackup обновлено до версии 2.8.11 Enterprise, в которой добавлена новая функциональность, улучшена производительность и исправлены некоторые ошибки:

    • Обеспечена поддержка Postgres Pro Enterprise 18.

    • Обеспечена поддержка прозрачного защитного преобразования данных (TDE). Теперь в выводе версии pg_probackup отображается отметка о поддержке TDE.

    • Добавлено сохранение хоста, с которого была выполнена резервная копия, в backup.control и его отображение в выводе команды show.

    • Улучшено поведение при восстановлении с носителей, доступных только для чтения, включая более информативные предупреждения.

    • Для операций archive-push и archive-get в удалённом режиме добавлено игнорирование сигналов SIGQUIT для предотвращения дампа памяти вспомогательных программ при остановке сервера.

    • Добавлена проверка соответствия номера порта в PGDATA и в параметре --pgport. Также добавлен флаг --force, чтобы выполнять резервное копирование, даже если эти значения не совпадают.

    • Исправлена обработка внешних табличных пространств при инкрементальном восстановлении. При использовании флага --force их содержимое больше не перезаписывается.

    • Исправлена проблема удержания слота репликации командой backup после успешного завершения.

    • Исправлен конфликт идентификаторов для параметра --wal-tree путём добавления проверки уникальности.

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

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

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

  • Утилита pgpro_datactl обновлена до версии 1.2.

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

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

    • Добавлена поддержка pgpro_stats 1.10.

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

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

  • Устранена проблема в pgpro_scheduler, при которой в служебную таблицу, связанную с функцией get_log(), некорректно записывались значения временной метки. Теперь значения NULL корректно записываются как отсутствие данных.

  • Приложение pgpro_stats обновлено до версии 1.10, в которой были исправлены некоторые ошибки и появились новые возможности:

    • В представления pgpro_stats_statements и pgpro_stats_totals включены новые поля, добавленные в pg_stats_statements в Postgres Pro 18. Также были обновлены соответствующие функции.

    • Добавлена функция pgpro_stats_statements_filtered, которая фильтрует статистику, аналогичную доступной в представлении pgpro_stats_statements, по одному или нескольким полям: userid, dbid, queryid и planid. Вызов этой функции работает быстрее, чем запрос к представлению pgpro_stats_statements с указанием соответствующих значений этих полей.

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

      • Добавлена возможность параметризации значений SET. Это позволяет сократить раздувание, которое возникает из-за операторов SET с разными константами.

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

    • Устранена проблема, которая могла возникать, когда в pgpro_stats дополнительные метрики изменялись «на лету». Теперь при каждом изменении дополнительных метрик требуется перезапуск сервера.

  • Расширение pldebugger обновлено до версии 1.1.6.

  • Обновлён модуль rum. Исправлена ошибка обновления модуля, которая возникала из-за того, что в его сборочном файле была указана некорректная переменная.

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

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

Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.

Версия ABI может измениться в корректирующем выпуске Postgres Pro. В таком случае при попытке запустить расширение возникает ошибка ABI mismatch (Несоответствие ABI), поэтому обязательно установите новую версию расширения, поставляемую с новым выпуском Postgres Pro, или перекомпилируйте стороннее расширение, чтобы использовать его с текущей версией Postgres Pro.

Если вы создаёте резервные копии с помощью pg_probackup и ранее обновили его до версии 2.8.0 Enterprise или 2.8.1 Enterprise, обязательно обновите его до версии 2.8.2 Enterprise или выше и сделайте полную резервную копию базы данных после обновления, поскольку резервные копии, созданные с использованием этих версий, могут быть повреждены. Чтобы проверить, повреждены ли резервные копии, созданные с помощью версий 2.8.0 или 2.8.1, можно использовать версию 2.8.2.

Если вы хотите сохранить существующее представление карт видимости в pageinspect при миграции на текущую основную версию Postgres Pro Enterprise с использованием pg_upgrade, выполните команду VACUUM, прежде чем начинать обновление.

Начиная с Postgres Pro Enterprise 13.13.1, права ролей с атрибутом CREATEROLE ограничены, и для изменения свойств других ролей требуется наличие права ADMIN OPTION.

Настоятельно не рекомендуется обновлять кластер с 32-битными идентификаторами транзакций на версии Postgres Pro Enterprise ниже 13.12.2 при наличии мультитранзакций в базе данных, поскольку это может вызвать повреждение данных.

При обновлении до версии Postgres Pro Enterprise 13.11.1 и выше обязательно обновите pg_probackup до версии 2.6.4 или выше, поскольку более ранние версии pg_probackup несовместимы с этими версиями Postgres Pro Enterprise.

Если вы ранее мигрировали на 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.1. Postgres Pro Enterprise 13.23.1

Release Date: 2025-12-15

E.1.1. Overview

Important

This is expected to be the last Postgres Pro Enterprise release in the 13 series. Users are encouraged to update to a newer Postgres Pro Enterprise major version soon.

This release is based on PostgreSQL 13.23 and Postgres Pro Enterprise 13.22.1. All changes inherited from PostgreSQL 13.23 are listed in PostgreSQL 13.23 Release Notes. As compared with Postgres Pro Enterprise 13.22.1, this version also provides the following changes:

  • Improved the search mechanism for matching mchar and mvarchar strings using the LIKE operator. Optimized case-insensitive comparison results in significant speed increase. This may be useful for 1C.

  • Improved performance of getting information on crashes of a backend by optimizing utility functions and commands.

  • Improved performance in cases where resource prioritization is disabled.

  • Added the enable_sorted_merge_join configuration parameter that enables or disables the query planner's use of merge joins in plans with sorting.

  • Added the max_wal_segments_prealloc configuration parameter, which enables the background writer to create WAL segments in advance during its main operation cycle, reducing the load on backend processes. The parameter sets the maximum number of such segments.

  • Limited the maximum number of assigned transaction IDs to 263. Now a warning is also shown when a threshold of 10 million XIDs is reached. Once the maximum number of XIDs is reached, new transactions cannot be started, but read-only queries continue to work.

  • Added new values of the PGPRO_TUNE environment variable used by initdb.

  • Added the pg_trgm_mchar extension, which allows fast trigram-based search for similar mchar and mvarchar strings. This extension also provides support of GIN indexes for mchar and mvarchar types. This may be useful for 1C.

  • Upgraded multimaster to provide the following changes and bug fixes:

    • Fixed an issue where multimaster returned an error when executing read-write transactions containing queries to postgres_fdw foreign tables. The root cause was that postgres_fdw does not support two-phase commit transactions used by multimaster. To fix the issue, the postgres_fdw.read_only_transactions configuration parameter was implemented. When set to on, it enables read-only queries to foreign tables in read-write transactions, which allows seamless operation of multimaster and postgres_fdw.

    • Fixed an issue of potential transaction commit latency caused by an error in the exchange logic for messages containing information about transaction application on nodes.

  • Upgraded orafce to version 4.16.3.

  • Upgraded pageinspect to fix an issue with the page_header function, which returned incorrect information for double xmax and some index pages. Specifically, the sequence of columns was confused and the prune_xid value was returned in the xid_base column. Now the information is returned correctly.

  • Upgraded pg_filedump to version 18.0.

  • Upgraded pg_hint_plan to version 1.3.11.

  • Upgraded pg_portal_modify to version 0.3.6.

  • Upgraded pg_proaudit to provide the following enhancements and bug fixes:

    • Added support for logging of the following event types: ANALYZE, DISCARD ALL, DISCARD PLANS, DISCARD SEQUENCES, DISCARD TEMP (for temporary tables), CHECKPOINT, FETCH, and MOVE.

    • Added the new event class MISC. This class allows logging of all events (including those mentioned above) not related to other event classes.

    • Added a new method for logging security events. Events in CEF format can now be logged not only in a separate file but also in syslog.

    • Added a new event log field: application name. AUTHENTICATE events now contain the name of the initiating application alongside the connection parameters.

    • Fixed an issue with pg_proaudit failing to log security events in a CEF file.

    • Fixed an issue with pg_proaudit failing to log events for the INSERT command following CREATE within anonymous code blocks (the DO command) and stored procedures/functions.

    • Fixed an issue with pg_proaudit overloading a CPU core due to failed log rotation.

  • Upgraded pg_probackup to version 2.8.11 Enterprise, which provides the following new features, optimizations, and bug fixes:

    • Added support for Postgres Pro Enterprise 18.

    • Added support for Transparent Data Encryption (TDE). The version output of pg_probackup now displays a TDE support indicator.

    • Made the host from which a backup was taken to be saved in backup.control and displayed in the show command output.

    • Improved the behavior during restore from read-only media, including more informative warning messages.

    • For archive-push and archive-get operations in the remote mode, made SIGQUIT signals to be ignored to prevent core dumps of helper programs when the server stops.

    • Added validation to ensure consistency between the port number in PGDATA and the --pgport option. Also added the --force flag to perform backups even when these values mismatch.

    • Fixed handling of external tablespaces during incremental restore. When using the --force flag, the tablespace contents are no longer overwritten.

    • Fixed a problem with the backup command holding the replication slot after successful completion.

    • Fixed the identifier conflict for the --wal-tree option by adding a uniqueness test.

    • Fixed the order of displaying the calculated and expected checksum values in the warning message.

  • Upgraded pg_repack to version 1.5.3.

  • Upgraded pgpro_controldata to version 18.1.0.

  • Upgraded pgpro_datactl to version 1.2.

  • Upgraded pgpro_pwr to version 4.12, which provides optimizations and bug fixes. Notable changes are as follows:

    • Improved take_sample time tracking.

    • Added support of pgpro_stats 1.10.

    • Added a possibility to exclude server connection strings from dumps.

    • Added statistics on restartpoints to the reports when it is available.

  • Upgraded pgpro_scheduler to fix an issue with incorrectly recording timestamp values in the service table associated with the get_log function. Now missing data is properly recorded when a NULL value is specified.

  • Upgraded pgpro_stats to version 1.10 to provide the following enhancements and bug fixes:

    • Added new statistics to pgpro_stats_statements and pgpro_stats_totals views. These statistics were added to pg_stats_statements in Postgres Pro 18. Related functions are updated accordingly.

    • Added the new pgpro_stats_statements_filtered function to filter statistics similar to those provided in the pgpro_stats_statements view by one or several fields: userid, dbid, queryid, and planid. Calling this function is faster than querying the pgpro_stats_statements view with appropriate values of these fields.

    • Improved the behavior of pgpro_stats similarly to pg_stat_statements. The changes are:

      • Allow the parameterization of SET values. This reduces the bloat caused by SET statements with differing constants.

      • Allow the parameterization of constant lists.

    • Fixed an issue that could occur when in pgpro_stats custom metrics were changed on the fly. Now any change to custom metrics requires a server restart.

  • Upgraded pldebugger to version 1.1.6.

  • Upgraded rum to fix a bug with the module upgrade that was caused by an incorrect variable specified in its makefile.

  • Disabled online_analyze. This module is not recommended for use with modern versions of 1C. However, it can be enabled if needed.

E.1.2. Migration to Version 13.23.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.

ABI versions may change between minor releases of Postgres Pro. If this is the case, and you see the ABI mismatch error when trying to run your extension, make sure to install a new version of the extension supplied with a new release of Postgres Pro, or recompile your third-party extension to be able to use it with the current version of Postgres Pro.

If you take backups using pg_probackup and you have previously upgraded it to version 2.8.0 Enterprise or 2.8.1 Enterprise, make sure to upgrade it to version 2.8.2 Enterprise or higher and retake a full backup after upgrade, since backups taken using those versions might be corrupted. If you suspect that your backups taken with versions 2.8.0 or 2.8.1 may be corrupted, you can validate them using version 2.8.2.

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.

Starting from Postgres Pro Enterprise 13.13.1, the privileges of CREATEROLE are restricted, and modification of other roles requires the role requesting the change to have the ADMIN OPTION permission.

It is strongly recommended to avoid migrating a cluster with 32-bit transaction IDs to Postgres Pro Enterprise versions below 13.12.2, if there are multitransactions in your database, as it may cause data corruption.

When upgrading to Postgres Pro Enterprise versions starting with 13.11.1, make sure to upgrade pg_probackup to version 2.6.4 or higher since lower versions are incompatible with these Postgres Pro Enterprise versions.

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.

FAQ