A.1. Postgres Pro Shardman 14.15.2 #

Release date: 2024-12-16

This release is based on PostgreSQL 14.15 and provides new features, optimizations and bug fixes. Major changes are as follows:

A.1.1. Core and Extensions #

  • Added the in_queue_used and out_queue_used fields to the shardman.silk_backends view that show the number of queued data bytes in the incoming or outgoing queue in the shared memory between the backend and multiplexer.

  • Added a new shardman.silk_routing function along with the corresponding views shardman.silk_routing and gv_silk_routing. They show information about the current active routes.

  • Added a new shardman.silk_rbc_snap function that retrieves a consistent snapshot of all the connects, backends and routes that can be used by silk_connects, silk_backends, and silk_routes functions.

  • Added shardman.silk_state and shardman.silk_statinfo views, the shardman.silk_statinfo_reset() function and the shardman.silk_track_time configuration parameter that cover the multiplexer process state.

  • Added two new configuration parameters, shardman.silk_tracelog configuration parameter that enables or disables Silk tracing and debug logging, and shardman.silk_tracelog_category that defines the Silk message categories to be traced.

  • Added two new configuration parameters, enable_non_equivalence_filters that enables the optimizer to generate additional non-equivalence conditions using equivalence classes, and optimize_row_in_expr that enables the optimizer to generate additional conditions from the IN () expression.

  • Added a new configuration parameter track_xact_time, the shardman.pg_stat_xact_time view, and the shardman.gv_stat_xact_time global view for showing statistics for the time spent on transactions.

  • Added the attached field to the shardman.silk_backends view and the silk_backends function that shows the actual attaching of a backend to the multiplexer.

  • Added a new shardman.silk_stream_work_mem configuration parameter that sets the base maximum amount of memory to be used by a Silk stream before writing to the temporary disk files.

  • Updated the EXPLAIN command output to show server and transport blocks in one row, if set to verbose.

  • Updated the supported version of pgpro_pwr to 4.8.

  • Updated the supported version of pg_query_state to 1.1.

  • Updated the supported version of pgpro_stats to 1.8-sdm4.

  • Updated the supported version of pg_probackup to 2.8.5.

  • Sped up planning for the queries field = ANY (ARRAY[values]) for the arrays with a big number of records.

  • Updated the postgres_fdw.foreign_explain configuration parameter type from boolean to enum, the default value being collapsed. Also updated the EXPLAIN command output to comply with the new values.

  • Fixed a bug that previously resulted in the multiplexer hanging.

A.1.2. Management Utilities #

  • Fixed a bug that previously resulted in the command line key being ignored if a corresponding environment variable was set.

  • Fixed a bug that previously resulted in shardmanctl bench run failure due to its memory buffers overflow.

  • Fixed a bug that previously resulted in shardmanctl bench failure if the command wasn't executed under the postgres user.

  • Fixed a bug that previously resulted in the full resync of a replica and was caused by saving invalid data to the postgresql.auto.conf file.

  • Fixed a bug that previously resulted in the PANIC-level error when calling any commands that modify configurations of a cluster that was not yet initialized.

  • Updated the shardmanctl bench run command flag -f|--file file_name to add a transaction script read from filename to the list of scripts to be executed and to write an integer weight for each file.

  • Updated the shardmanctl bench run command with -P|--progress, -R|--rate, and -M|--protocol flags.

pdf