Release date: 2024-05-24
This release is based on PostgreSQL 12.19 and Postgres Pro Enterprise 12.18.3. All changes inherited from PostgreSQL 12.19 are listed in PostgreSQL 12.19 Release Notes. As compared with Postgres Pro Enterprise 12.18.3, this version also provides the following changes:
Disabled the system startup timeout by setting the
TimeoutSec parameter to 0 in
systemd. Previously, big databases
could fail to start within the specified timeout.
Reduced logging level during a specified restore point creation at a checkpoint timeout for inactive bases only. It allows removing excessive log messages.
Added the cfs_log_verbose configuration parameter that controls the CFS log level of defragmentation messages. It allows reducing the number of CFS messages in the log file.
Added the cfs_gc_lock_file configuration parameter that sets the path to the lock file to be used to ensure running only one garbage collection worker at a time for several Postgres Pro servers.
Fixed a bug resulting in error “cache lookup failed for collation
128”. Now, for the additional INCLUDE index columns,
collation is ignored.
Fixed two planner issues. An expression duplication issue previously caused
underestimation of node selectivity and cost in some cases, which could lead to
a choice of a suboptimal plan. Another issue — the selectivity
overestimation for an AppendOr node was caused by its subnode
selectivity overestimation and led to the plan cost overestimation.
Fixed an issue with the automatic aggressive vacuum being triggered too often. Now, an aggressive vacuum scan will only occur for any table with multixact-age strictly greater than autovacuum_multixact_freeze_max_age.
Ended support for Astra Linux Orel 2.12.
Ended support for Astra Linux Smolensk 1.6.
Ended support for Red OS Murom 7.2.
Upgraded mamonsu to version 3.5.8, which provides optimizations and bugfixes. Notable changes are as follows:
Added support for the Zabbix 6.4 API: handling of deprecated parameters for authentication requests.
Removed caching of the pgsql.connections[max_connections]
metric.
Updated the default log rotation rules.
Prepared for support of Python 3.12.
Changed metric names of the pg_locks plugin.
Be aware that the changes could break custom user-defined triggers and
processing functions that use the item.name
parameter.
Fixed type mismatch for pgpro_stats and pg_wait_sampling.
Fixed privileges for the mamonsu role created by
bootstrap.
Upgraded orafce to version 4.10.0.
Upgraded pg_probackup to version 2.8.0 Enterprise, which provides new features, optimizations and bug fixes. Notable changes are as follows:
Added a possibility to limit the rate of disk writes using the option
--write-rate-limit=bitrate (Mbps, Gbps).
Decreased the memory consumption when restoring long sequences of increments twice on average.
Added checksum validation for CFS files by checkdb.
Added a possibility to validate only a WAL archive.
Extended the use of the --dry-run option for all
pg_probackup commands.
Made creation of a temporary slot during backups in the STREAM mode the default behavior unless it is specified otherwise.
Changed the default compression algorithm to zstd.
If zstd is not supported by the system,
lz4 has the next priority. The
--compress option now sets the default values for
--compress-level and --compress-algorithm.
Added a possibility to specify several hosts to connect to an S3 storage.
Implemented a new locking technique, which enables using the locks with S3 and NFS protocols.
Added the pgv_exists_elem function to pg_variables that
checks whether an element with a key exists in a general collection.
Upgraded pgpro_stats to version 1.7.1, which provides optimizations and bug fixes. Notable changes are as follows:
Added saving non-normalized plans to pgpro_stats for queries where previously no plans were saved.
Fixed an issue that hindered the monitoring when the
pgpro_stats_statements view contained quite a few
rows with the same values of plan and
queryid, but different values of
planid. The issue was caused by an error in
parsing the plan tree containing a T_Memoise node.
Fixed an error “ERROR: query failed: ERROR: tablespace "XXXX" does not
exist” that could occur when the pg_repack command was trying to
reorganize tables in a tablespace whose name started with a digit. The root
cause of the issue was that pg_repack expected
extra quotes.
Added the --save-fullpage option to pg_waldump. It allows
saving full-page images included in WAL records into a given target directory.
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.
It is strongly recommended to avoid migrating a cluster with 32-bit transaction IDs to Postgres Pro Enterprise versions below 12.16.2, if there are multitransactions in your database, as it may cause data corruption.
If you have previously migrated to Postgres Pro Enterprise
12.7.1 or lower, you must run the REINDEX command to
rebuild GIN indexes.
If you have previously migrated from Postgres Pro Enterprise
versions 11 or 10, you must run the REINDEX command to
rebuild B-tree indexes, except for unique, covering and system indexes. If
you are migrating from these versions now, rebuilding such indexes is also
recommended.
If you are upgrading from Postgres Pro Enterprise versions 12.6.x or lower and take PTRACK backups using pg_probackup, retake a full backup after upgrade.
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 12.