A.1. Postgres Pro Shardman 14.15.2

Дата выпуска: 2024-12-16

Этот выпуск основан на PostgreSQL 14.15, в нём улучшена производительность и исправлены некоторые ошибки. Важные изменения перечислены ниже.

A.1.1. Ядро и расширения

  • Добавлены поля in_queue_used и out_queue_used в представление shardman.silk_backends, которые показывают объём данных входящей или исходящей очереди в байтах в общей памяти между рабочим процессом и мультиплексором.

  • Добавлена новая функция shardman.silk_routing, а также соответствующие представления shardman.silk_routing и gv_silk_routing. Они отображают информацию о текущих активных маршрутах.

  • Добавлена новая функция shardman.silk_rbc_snap, которая выводит согласованный снимок всех соединений, рабочих процессов и маршрутов, которые могут использоваться функциями silk_connects, silk_backends и silk_routes.

  • Добавлены представления shardman.silk_state и shardman.silk_statinfo, функция shardman.silk_statinfo_reset() и параметр конфигурации shardman.silk_track_time, которые показывают состояние процессов мультиплексора.

  • Добавлен новый параметр конфигурации shardman.silk_tracelog, который включает или отключает протоколирование трассировки и отладки для Silk, а также параметр конфигурации shardman.silk_tracelog_category, который определяет, какие категории сообщений Silk протоколировать.

  • Добавлен новый параметр конфигурации enable_non_equivalence_filters, который позволяет оптимизатору генерировать дополнительные условия, не являющиеся условиями эквивалентности, с использованием классов эквивалентности, а также параметр конфигурации optimize_row_in_expr, который позволяет оптимизатору генерировать дополнительные условия из выражения IN ().

  • Добавлен новый параметр конфигурации track_xact_time, представление shardman.pg_stat_xact_time и глобальное представление shardman.gv_stat_xact_time для отображения статистики по времени, потраченному на транзакции.

  • Добавлено поле attached в представление shardman.silk_backends и функция silk_backends для отображения фактического присоединения рабочего процесса к мультиплексору.

  • Добавлен новый параметр конфигурации shardman.silk_stream_work_mem, задающий базовый максимальный объём памяти, который будет использоваться потоком Silk (как размер буфера), до записи во временные файлы на диске. Если это значение задаётся без единиц измерения, оно считается заданным в килобайтах.

  • Обновлён вывод команды EXPLAIN, теперь она показывает блоки server и transport в одной строке, если указать значение verbose.

  • Обновлена поддерживаемая версия pgpro_pwr до 4.8.

  • Обновлена поддерживаемая версия pg_query_state до 1.1.

  • Обновлена поддерживаемая версия pgpro_stats до 1.8-sdm4.

  • Обновлена поддерживаемая версия pg_probackup до 2.8.5.

  • Ускорено планирование для запросов вида поле = ANY (ARRAY[values]) в массивах с большим количеством записей.

  • Обновлён тип параметра конфигурации postgres_fdw.foreign_explain с boolean на enum, значение по умолчанию collapsed. Также обновлён вывод команды EXPLAIN для соответствия новым значениям.

  • Исправлена ошибка, которая ранее приводила к зависанию мультиплексора.

A.1.2. Утилиты управления

  • Исправлена ошибка, которая ранее приводила к игнорированию ключа командной строки, если задана соответствующая ключу переменная окружения.

  • Устранён сбой shardmanctl bench run при длительной работе, связанный с переполнение буферов памяти.

  • Устранён сбой shardmanctl bench, который ранее происходил в случаях, когда команда выполнялась не от имени пользователя postgres.

  • Исправлена ошибка, которая приводила к полной повторной синхронизации реплики и была связана с попадание некорректных данных в postgresql.auto.conf.

  • Исправлена ошибка, ранее приводившая к сообщению уровня PANIC при попытке вызова команд изменения настроек неинициализированного кластера.

  • Изменён параметр -f|--file file_name команды shardmanctl bench run, который теперь добавляет в список выполняемых скриптов скрипт транзакции из файла имя_файла, а также задаёт целочисленный вес каждому файлу.

  • Добавлены параметры -P|--progress, -R|--rate, and -M|--protocol в команду shardmanctl bench run.