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. Не рекомендуется использовать этот модуль с современными версиями 1С. Однако при необходимости его можно включить.
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
mcharandmvarcharstrings using theLIKEoperator. 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_TUNEenvironment variable used by initdb.Added the pg_trgm_mchar extension, which allows fast trigram-based search for similar
mcharandmvarcharstrings. This extension also provides support of GIN indexes formcharandmvarchartypes. 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_headerfunction, which returned incorrect information fordouble xmaxand some index pages. Specifically, the sequence of columns was confused and theprune_xidvalue was returned in thexid_basecolumn. 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, andMOVE.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.
AUTHENTICATEevents 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
INSERTcommand followingCREATEwithin anonymous code blocks (theDOcommand) 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.controland displayed in theshowcommand output.Improved the behavior during restore from read-only media, including more informative warning messages.
For
archive-pushandarchive-getoperations 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
PGDATAand the--pgportoption. Also added the--forceflag to perform backups even when these values mismatch.Fixed handling of external tablespaces during incremental restore. When using the
--forceflag, the tablespace contents are no longer overwritten.Fixed a problem with the
backupcommand holding the replication slot after successful completion.Fixed the identifier conflict for the
--wal-treeoption 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_sampletime 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_logfunction. 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_statementsandpgpro_stats_totalsviews. These statistics were added to pg_stats_statements in Postgres Pro 18. Related functions are updated accordingly.Added the new
pgpro_stats_statements_filteredfunction to filter statistics similar to those provided in thepgpro_stats_statementsview by one or several fields:userid,dbid,queryid, andplanid. Calling this function is faster than querying thepgpro_stats_statementsview 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
SETstatements 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.