E.1. Postgres Pro Enterprise 14.18.1
Release Date: 2025-06-03
E.1.1. Overview
This release is based on PostgreSQL 14.18 and Postgres Pro Enterprise 14.17.1. All changes inherited from PostgreSQL 14.18 are listed in PostgreSQL 14.18 Release Notes. As compared with Postgres Pro Enterprise 14.17.1, this version also provides the following changes:
Added the enable_alternative_sorting_cost_model configuration parameter, which allows you to enable or disable the query planner's use of alternative model for estimating the cost of tuple sorting.
Implemented performance optimization when working with table metadata, which allows obtaining information about attributes using the system cache instead of direct reading from the system catalog.
Introduced the following changes to the implementation of crash_info:
Added handling of
SIGILL
signals tocrash_info
processing.Added details, like process start time and query text at planning, to
crash_info
output files.Fixed incorrect function names in the first 2-3 lines of
crash_info
backtrace stacks.Fixed possible data truncation at the end of SQL query dump files. Previously, a buffer overflow during SQL query dumping could result in incomplete writes, causing truncated data at the end of files produced by
crash_info
.Fixed handling of crash information signals (sent using the kill command) by backends. Previously, the first signal would flush
crash_info
information to the log, but the process would continue running without producing a core dump, even if configured, and only the second signal would terminate the backend and generate the core dump as expected.
Fixed the following issues for CFS:
Fixed compatibility of CFS with the
ALTER TABLESPACE ... SET/RESET
commands.Fixed an issue with memory allocation within a critical section in the implementation of
VACUUM ANALYZE
for compressed tables.
Fixed the following bugs related to autonomous transactions:
Fixed a segmentation fault, which could occur when using postgres_fdw with autonomous transactions.
Fixed loss of temporary tables from parent transaction on autonomous transaction rollback.
Fixed an issue with empty
xact_start
columns in thepg_stat_activity
view for backends executing autonomous transactions.
Fixed an issue with missing statistics about vacuuming when multiple index vacuum workers are used.
Fixed an issue when the checkpointer process could get stuck, repeatedly throwing “invalid memory alloc request size” errors. This could occur when using a huge
shared_buffers
setting, causing checkpointer memory allocation requests to exceed the allowed limit.Fixed misuse of spinlocks in the automatic page repair worker.
Added the daterange_inclusive extension, which allows you to include the upper bound of a time range in output.
Added the pg_failover_slots extension as a separate pre-built package. pg_failover_slots is designed for automatic creation and synchronization of logical replication slots on physical replicas.
Added the pg_probackup3 solution for backup and recovery of Postgres Pro database clusters. Refer to the pg_probackup3 release notes for more details.
Added the pgpro_bindump module to manage backup and restore operations. This module implements specialized replication commands for an extended replication protocol, has its own format for archiving files, and does not require SSH connection. It is designed specifically for use with the pg_probackup3 utility.
Added the pgpro_datactl utility to manage Postgres Pro data files, which includes a module for unpacking and analyzing CFS files.
Added the new pgpro_tune utility for automatic tuning of Postgres Pro configuration parameters for all operating systems, except for Windows.
Added a new
PGPRO_TUNE
environment variable to initdb, which specifies whether to use pgpro_tune without modifying command-line options directly.Deprecated the experimental vops extension.
Removed the
--tune
option frompg-setup
. Use the new pgpro_tune utility instead.Upgraded multimaster to version 1.3.0, which provides the following enhancements and bug fixes:
Improved the way nodes delete old synchronization points. Previously, every node deleted only a part of the synchronization point table and replicated changes to other nodes. This could cause synchronization issues and inability to delete old synchronization points. Now, every node deletes all synchronization points and does not replicate changes to other nodes.
Fixed potential node hanging during catchup when attempting to process aborted DDL transactions in a cluster of three or more nodes.
Upgraded oracle_fdw to provide the following enhancements and bug fixes:
Increased line size for EXPLAIN output as some Oracle catalog queries have long filter conditions. The line size was increased to the value of 3000.
Fixed a crash with column options on non-existing columns. If the Oracle table has fewer columns than the Postgres Pro and one of these extra columns has a column option set, oracle_fdw would write past the end of an array, leading to memory corruption and crashes. Now options for such columns are ignored.
Fixed an issue with updating pageinspect. In rare cases, depending on the sequence of previous updates, upgrading the database cluster and then attempting to update the pageinspect extension using
ALTER EXTENSION pageinspect UPDATE TO
could result in an error. To avoid such issues, it is strongly recommended to drop and recreate the extension usingDROP EXTENSION
followed byCREATE EXTENSION
after upgrading the cluster. Since pageinspect does not create dependent objects, this approach is safe.Upgraded pg_proaudit to provide the following enhancements and bug fixes:
Added new object types:
CATALOG RELATION
andCATALOG FUNCTION
.Added new event fields: UUID, XID, and VXID. Now it is possible to identify an event by its UUID and transaction IDs (if applicable).
The behavior of the
pg_proaudit.log_catalog_access
configuration parameter was corrected to reflect the new logic of logging for system catalog objects.Changed the logic of handling disconnection events. Now these events are associated with the corresponding authentication events, so the disconnection events will be logged even in the case when the rule is removed after authentication, but before disconnect.
Fixed an issue where the
DISCONNECT
event type was not logged for a user who was a member of the role that was set in the logging rule.Fixed the bug that caused a log entry to be written to an incorrect log file when log file rotation was configured.
Fixed an issue with pg_proaudit failing to log schema creation events.
Corrected the behavior of the
logger
process when deleting a role from a parallel session configured by the rule.
Upgraded pg_probackup to version 2.8.9 Enterprise, which provides the following new features, optimizations, and bug fixes:
Added the
maintain
command to resolve issues that can occur during a forced backup termination.Added the
--lock-lifetime
option that sets the timeout for locks. This option is useful for computational environments with a slow network.Stabilized retaining the initial permissions for directories when running the
init
command.Stabilized the
checkdb
command on a remote host.Improved the stability of the point-in-time recovery (PITR) with validation.
Fixed the “SignatureDoesNotMatch” error that could occur when connecting to the VK Cloud S3 storage.
Fixed an incorrect behavior that could occur when launching the wait for a WAL streaming thread in the ARCHIVE WAL delivery mode.
Upgraded pgpro_pwr to version 4.9, which mainly provides optimizations and bug fixes. Notable changes are as follows:
Added support for pgpro_stats 1.9.
Added a possibility to define the mode of collecting relation sizes globally through the
pgpro_pwr.relsize_collect_mode
extension parameter or for a server through theset_server_size_sampling
function parameter.Enabled fine-tuning the server statistics collection by calling the
set_server_setting
function. It allows you to define which statistics should be collected.Added a preview of storage parameters for tables and indexes in the “Schema object statistics” report section.
Upgraded pgpro_scheduler to version 2.11.2 to fix an issue where repeated jobs could be executed at additional time if days of the week were set using the
crontab
format. pgpro_scheduler now checks all job time settings and runs jobs at the specified time.Upgraded pgpro_stats to version 1.9, which provides the following bug fixes and improvements:
Enhanced session tracing to provide more information. Specifically, the new
time_info
filter attribute controls inclusion of additional information in the session-tracing output, and thepgpro_stats.trace_query_text_size
configuration parameter can limit the size of the query in the session-tracing output.Aligned the names of the
explain_*
filter attributes of the session tracer with the names of session-tracing configuration parameters.Changed the format of the statistics dump file and the corresponding save/load routines.
Implemented turning off the session tracer functionality when no session-tracing filters are specified.
Prohibited inclusion of both pgpro_stats and pg_stat_statements in the list of
shared_preload_libraries
. If both are included, the database server will not start.
Upgraded the pg_wait_sampling extension to provide the following bug fixes:
Fixed an issue where GUC variables could be overridden when using parallel workers.
Fixed an issue with malformed samples caused by a race condition when
pg_wait_sampling.sample_cpu
is disabled.
E.1.2. Migration to Version 14.18.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.
When upgrading your high-availability cluster from Postgres Pro Enterprise versions 14.12.x or lower, first disable automatic failover if it was enabled and upgrade all the standby servers, then upgrade the primary server, promote a standby, and restart the former primary (possibly with pg_rewind).
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 14.10.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 14.9.2, if there are multitransactions in your database, as it may cause data corruption.
When upgrading to Postgres Pro Enterprise versions starting with 14.8.1, make sure to upgrade pg_probackup Enterprise to version 2.6.4 or higher since lower versions are incompatible with these Postgres Pro Enterprise versions.
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 14.