A.3. Postgres Pro Shardman 14.12.2

Дата выпуска: 2024-08-01

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

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

  • Добавлена возможность создавать глобальную или сегментированную таблицу на основе другой глобальной, сегментированной или локальной таблицы. На данный момент есть ограничения на создание таблиц на основе локальных.

  • Исправлена обработка параметра IF NOT EXISTS команды CREATE TABLE для глобальных и секционированных таблиц. Раньше была вероятность создания таблицы с неправильной структурой, если секционированная таблица с идентичным именем уже существовала на одном из узлов кластера.

  • Обновлено значение по умолчанию для параметра хранения num_parts на 24 для достижения более равномерного распределения данных для кластеров с 2, 3, 4, 6 и 8 узлами.

  • Добавлен параметр конфигурации enable_merge_append, который включает или отключает использование планировщиком планов MergeAppend. В частности позволяет отключить использование этих планов, если они слишком дорогие.

  • Добавлен параметр конфигурации pgpro_stats.track_shardman_connections, который включает или отключает обработку операторов Shardman.

  • Добавлена возможность проталкивать запросы соединения с VALUES на удалённый сервер.

  • Удалено ограничение в 64 тысячи на количество таблиц в запросе.

  • Добавлено представление shardman.pg_stat_monitor, которое предоставляет статистику работы детектора распределённых взаимоблокировок и служб разрешения подготовленных транзакций.

  • Добавлено глобальное представление shardman.gv_stats_sdm_statements, которое предоставляет доступ к агрегированной статистике для распределённых запросов.

  • Обновлено представление pgpro_stats pgpro_stats_sdm_statements. Теперь оно содержит статистику только по запросам, задействующим сегментированные таблицы.

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

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

  • Добавлена возможность резервного копирования кластера с табличными пространствами. Теперь табличные пространства находятся в каталоге резервной копии.

  • Добавлена возможность восстанавливать полностью или частично работающий кластер из резервной копии, сделанной на частично работающем кластере, с использованием shardmanctl probackup.

  • Введён параметр --no-wait для командыshardmanctl shard add, с которым команда shardmanctl не ждёт запуска сегмента и снимает блокировку с других команд.

  • Введён параметр s|--scale для команды shardmanctl bench run. Задаёт коэффициент масштабирования, на который умножается количество сгенерированных строк.

  • Добавлена команда shardmanctl script, которая выполняет нетранзакционные команды из файла или командной строки на указанных сегментах.

  • Изменён файл конфигурации sdmspec.json, генерируемый командой shardmanctl config generate. Теперь из него исключены параметры, зависящие от ресурсов системы и рабочей нагрузки на узел кластера. Эти параметры сохраняют значения по умолчанию. Раньше инициализация кластера могла завершиться ошибкой на узлах с меньшими ресурсами из-за слишком высоких значений этих параметров.

  • Добавлена возможность восстанавливать из резервной копии одного кластера другие, если у них одинаковая топология. Добавлена команда shardmanctl config update ip, которая обновляет IP-адреса указанных узлов кластера.

  • Добавлен параметр --log-format в shardmand, который задаёт формат журнала: json или text.