E.4. Postgres Pro Enterprise 12.19.1
Release date: 2024-05-24
E.4.1. Overview
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 bybootstrap
.
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
. Ifzstd
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 ofplan
andqueryid
, but different values ofplanid
. The issue was caused by an error in parsing the plan tree containing aT_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.
E.4.2. Migration to Version 12.19.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.
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.