E.1. Postgres Pro Shardman 17.7.1 #
Release date: 2026-02-02
This release is based on Postgres Pro Shardman 17.6.1 and PostgreSQL 17.7. It also inherits a number of enhancements and bugfixes from Postgres Pro Enterprise 17.7.1. All changes inherited from PostgreSQL 17.7 are listed in PostgreSQL 17 Release Notes. As compared with Postgres Pro Shardman 17.6.1, the following differences are worth mentioning:
E.1.1. Core and Extensions #
Compared to Postgres Pro Shardman 17.6.1:
Added a new
shardman.pg_stat_fast_pathview and its global viewshardman.gv_stat_fast_paththat show the number of queries that used or didn't useFastPath, including queries to local tables.Added the shardman.global_analyze_async procedure for cluster-wide parallel analysis of sharded and global tables.
Added support for shippable and non-shippable functions for
FastPath, except for volatile or stable functions.Added support for multiple sharding keys for
FastPath.Updated the Silk features by adding the threshold for the time a worker can run before it is considered long job with the
shardman.silk_long_job_timeparameter, and setting the maximum number of workers that Silk can run with theshardman.silk_max_workersparameter.Optimized the statistics transfer between nodes.
Enhancements and bugfixes inherited from Postgres Pro Enterprise 17.7.1:
Improved performance of getting information on crashes of a backend by optimizing utility functions and commands.
Improved performance in cases where resource prioritization is disabled.
Implemented password masking in the server log by default to protect sensitive data from being revealed.
Added the enable_sorted_merge_join configuration parameter that enables or disables the query planner's use of merge joins in plans with sorting.
Added the max_wal_segments_prealloc configuration parameter, which enables the background writer to create WAL segments in advance during its main operation cycle, reducing the load on backend processes. The parameter sets the maximum number of such segments.
Added details, like information about internal signal handlers, to
crash_infooutput files.Limited the maximum number of assigned transaction IDs to 263. Now a warning is also shown when a threshold of 10 million XIDs is reached. Once the maximum number of XIDs is reached, new transactions cannot be started, but read-only queries continue to work.
Implemented the following enhancements and bug fixes for CFS:
Added the cfs_compression configuration parameter that allows you to temporary disable CFS compression. It speeds up the migration of large compressed tables.
Fixed an issue with CFS failing to compress relation files where OID exceeds
INT32_MAX. The issue occurred when moving an existing table to a CFS tablespace.
Fixed an issue with the vacuum process, which could wait indefinitely to freeze a page due to the
BufferPinwait event. The issue could occur in case there was a buffer that was constantly used by backends.Fixed a bug that caused incorrect calculation of the internal vacuum_freeze_min_age threshold, which should equal half of the autovacuum_freeze_max_age value. Previously, this bug could cause internal miscalculation of autovacuum parameters and, consequently, unnecessary vacuum runs.
Fixed an issue where the limit set by the max_backend_memory configuration parameter was not taken into account for the “bump” memory context when allocating memory for a backend.
Added new values of the
PGPRO_TUNEenvironment variable used by initdb.Upgraded aqo to provide the following enhancements and bug fixes:
Improved the mechanism of aqo learning on subqueries.
Fixed an issue where the aqo_cleanup function did not remove data in the basic mode.
Upgraded pg_proaudit to provide the following enhancements and bug fixes:
Added support for logging of the following event types:
ANALYZE,DISCARD ALL,DISCARD PLANS,DISCARD SEQUENCES,DISCARD TEMP(for temporary tables),CHECKPOINT,FETCH, andMOVE.Added the new event class
MISC. This class allows logging of all events (including those mentioned above) not related to other event classes.Added a new method for logging security events. Events in CEF format can now be logged not only in a separate file but also in syslog.
Added a new event log field: application name.
AUTHENTICATEevents now contain the name of the initiating application alongside the connection parameters.Fixed an issue with pg_proaudit failing to log security events in a CEF file.
Fixed an issue with pg_proaudit failing to log events for the
INSERTcommand followingCREATEwithin anonymous code blocks (theDOcommand) and stored procedures/functions.Fixed an issue with pg_proaudit overloading a CPU core due to failed log rotation.
Upgraded pgpro_bindump to fix compression level validation. Previously, pgpro_bindump enforced the same compression-level range regardless of the selected algorithm.
Upgraded pgpro_pwr to version 4.12, which provides optimizations and bug fixes. Notable changes are as follows:
Improved
take_sampletime tracking.Added a possibility to exclude server connection strings from dumps.
Added statistics on restartpoints to the reports when it is available.
Upgraded pgpro_stats to version 1.10-sdm4 to provide the following enhancements and bug fixes:
Added new statistics to
pgpro_stats_statementsandpgpro_stats_totalsviews. These statistics were added to pg_stats_statements in Postgres Pro Shardman 18. Related functions are updated accordingly.Added the new
pgpro_stats_statements_filteredfunction to filter statistics similar to those provided in thepgpro_stats_statementsview by one or several fields:userid,dbid,queryid, andplanid. Calling this function is faster than querying thepgpro_stats_statementsview with appropriate values of these fields.Improved the behavior of pgpro_stats similarly to pg_stat_statements. The changes are:
Allow the parameterization of SET values. This reduces the bloat caused by
SETstatements with differing constants.Allow the parameterization of constant lists.
Fixed an issue that could occur when in pgpro_stats custom metrics were changed on the fly. Now any change to custom metrics requires a server restart.
E.1.2. Management Utilities #
Compared to Postgres Pro Shardman 17.6.1:
Added a feature to transfer environment variable values for the pg_ctl commands.
Added a feature to start a cluster on one node.
Added a feature to send psql commands to a specific shard with the
shardmanctl psqlcommand.Improved transferring logic of the environment variable values for the
shardcmanctl benchcommands.Improved the
shardmanctl statuscommand logic.Updated the
shardmanctl config getcommand that now runs without meta lock.Updated postgres_fdw, it is not used for node interactions anymore. Hence, when upgrading from former Postgres Pro Shardman versions, after running
shardmanctl upgrademind runningdrop extension postgres_fdwon each cluster node. Also it is required to delete postgres_fdw fromshared_preload_libraries. shardman_fdw is now used for the internal cluster communications.Fixed the
shardman.dictionary_check_jsonissue that previously resulted in its incorrect functioning.