A.1. Postgres Pro Shardman 14.15.1

Дата выпуска: 2024-11-25

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

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

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

  • Добавлены новые поля в представление shardman.silk_pending_jobs: query, pending_queue_bytes и pending_queue_messages, которые соответственно показывают первое сообщение в очереди заданий, размер очереди ожидающих заданий в байтах и количество сообщений в очереди заданий.

  • Добавлена трассировка прохождения запросов через транспорт Silk и параметр конфигурации shardman.silk_tracepoints, включающий эту трассировку.

  • Изменена функция current_date, которую теперь можно предварительно вычислить на координаторе. Добавлена возможность безопасного проталкивания сравнений timestamp и timestamptz.

  • Добавлена поддержка pg_query_state.

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

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

  • Исправлена ошибка, ранее приводившая к нестабильной работе Silk и возможному зависанию запросов при включённом параметре shardman.silk_flow_control.

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

  • Добавлена команда shardmanctl history, которая позволяет просматривать историю команд модификации кластера. По умолчанию команды отсортированы от самых новых к самым старым.

  • Обновлена версия etcd до 3.5.13.

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

  • Добавлена возможность включить шифрование при конфигурации порта приложения shardmand в sdmspec.json.

  • Обновлён механизм проверки параметров PostgreSQL, который теперь использует данные, возвращаемые экземпляром PostgreSQL.