E.4. Postgres Pro Standard 16.6.1#
Release Date: 2024-11-28
E.4.1. Overview#
This release is based onPostgreSQL 16.6 andPostgres Pro Standard 16.4.1. All improvements inherited fromPostgreSQL 16.6 are listed inPostgreSQL 16.6 Release Notes. Other major changes and enhancements are as follows:
Added the ability to form the
MergeAppendoperation instead ofAppend, which allows omitting additional sorting needed to ensure that the data is in fact sorted. NowMergeAppendis formed specifying the columns to sort by. The new ability applies only when theenable_appendorpath option is set toON.Allowed transformation of correlated
INsubqueries into joins.Implemented the ability todump the state of a single backend process by sending the dump signal.
Changed the error level to calculate the statistics onvacuum interrupts to
ERROR(PGERROR) only. Calculating vacuum interrupts for thePANICerror 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 theRETURNINGclause. This syntax is not supported by the SQL/JSON standard, which states that theJSON_EXISTS()predicate should only return TRUE, FALSE, or UNKNOWN.Fixed a segmentation fault, which could occur while executing the
COPY TOcommand when using theonline_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
EXPLAINcommand's output produced over 64 columns.Fixed an issue where
EXPLAIN ANALYZEshowed incorrect counts of inserted and conflicted tuples during row inserts with conflicting primary keys when usingON 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 theenable_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.
Upgradedaqo to provide the following enhancements and bugfixes:
Introduced theaqo sandbox mode, which allows working in an isolated environment without touching the mainaqo knowledge base. This mode can be turned on either on a primary or a standby node by settingaqo.sandbox to on.
Enhancedaqo wide search (
aqo.wide_search=on) to utilize data from multiple neighbors simultaneously. Also, revised its interaction withaqo.min_neighbors_for_predictingto 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 theaqo smart statement timeout update logic, as well as incorrect statistics insertion into
aqo_query_statswhen the arrays were full.
Upgradedmamonsu to version 3.5.9, which provides optimizations and bug fixes. Notable changes are as follows:
Added support for systems wheresetuptools version greater than 67.7.2 is installed.
Ended the use of dotted
user:groupspecification at the RPM pre-install stage.
Upgraded the ODBC driver to version 17.00.0002.
Upgradedoracle_fdw to version 2.7.0.
Upgradedorafce to version 4.13.5.
Upgradedpg_filedump to version 17.1, which specifically fixed an issue that could causepg_filedump to crash with a segmentation fault when handling incomplete pages.
Upgradedpg_integrity_check to display actual checksum values, if the checksums differ, only with the
--verboseoption.Upgradedpg_portal_modify to version 0.3.4.
Upgradedpg_proaudit to provide the following optimizations and bug fixes:
Added logging of security events related to operations with profiles:
CREATE PROFILE,ALTER PROFILE, andDROP PROFILE.Changed the distribution of security events related to functions and stored procedures among the groups of security events: the
ALL_DDLgroup now includes no events related to functions and stored procedures,ALL_PROCincludesCREATE,ALTER, andDROP, whileALL_DMLincludesEXECUTE.Fixed logging of security events on partitioned tables. Now the
SELECT/UPDATE/INSERT/DELETE/TRUNCATEevents 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
AUTHENTICATEandDISCONNECTsecurity events.
Upgradedpg_probackup to version 2.8.5, which provides the following optimizations and bug fixes:
Enabled the output of the
versioncommand in the JSON format using--format=json.Added the
--alloption to theamcheckcommand, which allows performing all the checks in a single command.Added support for the
includeparameter in the configuration file. The contents of the file specified inincludegets 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-threadsand--validate-threadsoption, respectively.Changed the priority of setting
PGDATAandBACKUP_PATH. Now the values from the command-line options take precedence.Added validation of WAL files for backups to be merged by the
mergecommand.An error message that was issued when the
validatecommand run with the--waloption found an archive in theDEGRADEDstatus 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.
Upgradedpgpro_controldata to version 17.1.0.
Upgradedpgpro_stats to version 1.8, which supportsPostgres Pro 17. Notable changes are as follows:
Updated
pgpro_stats_statementsandpgpro_stats_totalsviews to include fields added topg_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, andpgpro_stats_vacuum_indexesviews was granted to all users. Previously, these views required explicitly granting access rights. Access to execution of thepgpro_stats_trace_resetfunction, 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_directoryconfiguration 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.
Upgradedpgpro_pwr to version 4.7, which provides new features, optimizations and bug fixes. Notable changes are as follows:
Asubsample feature to collect relatively fast changing data.
New report tables, specifically regarding session states.
Support for newPostgres 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
xidtotext. The use of thexidtype could previously cause a failure ofpg_upgrade when upgrading fromPostgres Pro Standard toPostgres Pro Enterprise.
Upgradedpg_repack to version 1.5.1.
Upgradedpg_wait_sampling to provide tracking of subquery IDs and utility statements and to add the new
pg_wait_sampling.sample_cpuparameter, 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.
UpgradedPTRACK to prevent possible issues with PTRACK backups by setting the
ptrack.mapfile for automatic deletion when PTRACK is disabled.Upgradedtds_fdw to version 2.0.4.
E.4.2. Migration to Version 16.6.1#
If you are upgrading fromPostgres Pro Standard based on the samePostgreSQL major version, it is enough to install the new version into your current installation directory.
ABI versions may change between minor releases ofPostgres Pro. If this is the case, and you see theABI mismatch error when trying to run your extension, make sure to install a new version of the extension supplied with a new release ofPostgres Pro, or recompile your third-party extension to be able to use it with the current version ofPostgres Pro.
If you take backups usingpg_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.
To migrate fromPostgreSQL or aPostgres Pro Standard release based on a previousPostgreSQL major version, see the instructions inPostgres Pro Standard 16.0.1 Release Notes.