Release Date: 2024-11-28
This release is based on PostgreSQL 15.10 and Postgres Pro Standard 15.8.1. All improvements inherited from PostgreSQL 15.10 are listed in PostgreSQL 15.10 Release Notes. Other major changes and enhancements are as follows:
Added the ability to form the MergeAppend operation
instead of Append, which allows omitting additional
sorting needed to ensure that the data is in fact sorted. Now
MergeAppend is formed specifying the columns to sort by.
The new ability applies only when the enable_appendorpath
option is set to ON.
Allowed transformation of correlated IN subqueries
into joins.
Implemented the ability to dump the state of a single backend process by sending the dump signal.
Changed the error level to calculate the statistics on
vacuum interrupts to
ERROR (PGERROR) only.
Calculating vacuum interrupts for the PANIC error
level could cause unpredictable system behavior, and the statistics
could not be calculated anyway because of the server crash.
Deprecated the ability to create constructs using
JSON_EXISTS()
with the RETURNING clause.
This syntax is not supported by the SQL/JSON standard, which
states that the JSON_EXISTS() predicate
should only return TRUE, FALSE, or UNKNOWN.
Fixed a segmentation fault, which could occur while executing the
COPY TO command when using the
online_analyze module.
Fixed an issue to avoid potential stack overflow in scenarios involving a large number of subtransactions. Now when handling the process of committing a transaction, iteration is used instead of tail recursion.
Fixed a memory leak that could occur when the EXPLAIN
command's output produced over 64 columns.
Fixed an issue where EXPLAIN
ANALYZE showed incorrect
counts of inserted and conflicted tuples during row inserts with conflicting
primary keys when using ON CONFLICT DO NOTHING.
Fixed an issue that could slow down query execution. The reason was that
the optimizer selected a suboptimal index due to the lack of its cost
estimation after removing redundant clauses with the
enable_appendorpath option set to ON.
Added support for ARM architecture for Red OS Murom 8.
Ended support for Ubuntu 23.10 and added support for Ubuntu 24.10.
Upgraded aqo to provide the following enhancements and bugfixes:
Enhanced aqo wide search
(aqo.wide_search = on)
to utilize data from multiple neighbors simultaneously.
Also, revised its interaction with
aqo.min_neighbors_for_predicting to allow
queries with fewer than the specified number of data samples
to participate in wide search. Previously, such queries were
excluded from consideration.
Fixed an array index out-of-bounds issue in the
aqo smart statement timeout update
logic, as well as incorrect statistics insertion into
aqo_query_stats when the arrays were full.
Upgraded mamonsu to version 3.5.9, which provides optimizations and bug fixes. Notable changes are as follows:
Added support for systems where setuptools version greater than 67.7.2 is installed.
Ended the use of dotted user:group specification
at the RPM pre-install stage.
Upgraded the ODBC driver to version 17.00.0002.
Upgraded oracle_fdw to version 2.7.0.
Upgraded orafce to version 4.13.5.
Upgraded pg_filedump to version 17.1, which specifically fixed an issue that could cause pg_filedump to crash with a segmentation fault when handling incomplete pages.
Upgraded pg_integrity_check
to display actual checksum values, if the checksums differ, only with
the --verbose option.
Upgraded pg_portal_modify to version 0.3.4.
Upgraded pg_proaudit to provide the following optimizations and bug fixes:
Added logging of security events related to operations with profiles:
CREATE PROFILE, ALTER PROFILE,
and DROP PROFILE.
Changed the distribution of security events related to functions and
stored procedures among the groups of security events: the
ALL_DDL group now includes no events related to
functions and stored procedures, ALL_PROC includes
CREATE, ALTER, and DROP,
while ALL_DML includes EXECUTE.
Fixed logging of security events on partitioned tables.
Now the SELECT/UPDATE/INSERT/DELETE/TRUNCATE events
on a partitioned table get logged if logging rules imply logging of
appropriate events for this table. Previously, only events on individual
partitions were logged.
Fixed compatibility with the connection pooler. Previously, issues
could be encountered when logging AUTHENTICATE and
DISCONNECT security events.
Upgraded pg_probackup to version 2.8.5, which provides the following optimizations and bug fixes:
Enabled the output of the version command in the JSON
format using --format=json.
Added the --all option to the amcheck
command, which allows performing all the checks in a single command.
Added support for the include parameter in the configuration
file. The contents of the file specified in include
gets added to the configuration file instead of this parameter.
Added a possibility to specify an individual number of threads for execution
of a backup and its subsequent validation by specifying the
--backup-threads and --validate-threads
option, respectively.
Changed the priority of setting PGDATA and
BACKUP_PATH. Now the values from the command-line
options take precedence.
Added validation of WAL files for backups to be merged by the
merge command.
An error message that was issued when the validate
command run with the --wal option found an archive in the
DEGRADED status has been replaced with a warning
since backups in this status do not affect the restore correctness as
a whole.
Fixed an issue that could occur if the command line was too long.
Fixed an issue that could occur during validation or restore when the PITR from a previous timeline was performed.
Upgraded pgpro_controldata to version 17.1.0.
Upgraded pgpro_stats to version 1.8, which supports Postgres Pro 17. Notable changes are as follows:
Updated pgpro_stats_statements and
pgpro_stats_totals views to include fields
added to pg_stat_statements.
Related functions were updated accordingly.
Streamlined access to views and functions. Specifically, access to the
pgpro_stats_archiver, pgpro_stats_vacuum_database,
pgpro_stats_vacuum_tables, and
pgpro_stats_vacuum_indexes views was granted
to all users. Previously, these views required explicitly granting access rights.
Access to execution of the pgpro_stats_trace_reset function,
which could previously be executed by any user, was restricted to superusers.
Eliminated an excessive check of holding the lock when accessing the hash table of session-tracing filters.
Fixed processing of the pgpro_stats.stats_temp_directory
configuration parameter. Previously after the server restart for changes to
this parameter value to take effect, the fatal error
“pfree called with invalid pointer” could occur when
processing this parameter.
Upgraded pgpro_pwr to version 4.7, which provides new features, optimizations and bug fixes. Notable changes are as follows:
A subsample feature to collect relatively fast changing data.
New report tables, specifically regarding session states.
Support for new Postgres Pro 17 statistics.
A possibility not to reset statistics of the statistics collecting extension during taking a sample.
The change of the type for the field that tracks transaction IDs in
a certain table from xid to text.
The use of the xid type could previously cause a failure
of pg_upgrade when upgrading from
Postgres Pro Standard to Postgres
Pro Enterprise.
Upgraded pg_repack to version 1.5.1.
Upgraded pg_wait_sampling
to provide tracking of subquery IDs and utility statements and to add
the new pg_wait_sampling.sample_cpu parameter,
which allows specifying the sampling mode that determines whether to
perform sampling of on-CPU backends.
Upgraded the PLV8 extension to version 3.2.3.
Upgraded PTRACK to prevent possible issues with PTRACK
backups by setting the ptrack.map file for automatic
deletion when PTRACK is disabled.
Upgraded tds_fdw to version 2.0.4.
If you are upgrading from Postgres Pro Standard 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 or 2.8.1, make sure to upgrade it to version 2.8.2 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.
Starting from Postgres Pro Standard 15.5.1, the
privileges of CREATEROLE are restricted, and
modification of other roles requires the role requesting the change to
have the ADMIN OPTION permission.
When upgrading to Postgres Pro versions starting with 15.3.1, make sure to upgrade pg_probackup to version 2.6.3 or higher since lower versions are incompatible with these Postgres Pro versions.
To migrate from PostgreSQL or a Postgres Pro Standard release based on a previous PostgreSQL major version, see the instructions in Postgres Pro Standard 15.0.1 Release Notes.