A.10. Postgres Pro Shardman 14.11.1
Дата выпуска: 2024-03-14
В этом выпуске улучшена производительность, добавлены новые возможности и исправлены некоторые ошибки. Важные изменения перечислены ниже:
A.10.1. Ядро и расширения
Улучшены возможности расширения pgpro_stats для понимания того, какие системные ресурсы используются для распределённых запросов. Теперь в обычном представлении
pgpro_stats_statements
показывается статистика, собранная для отдельных операторов на текущем узле Shardman (они могут быть частью распределённого запроса), а в представленииpgpro_stats_sdm_statements
показывается статистика, собранная для распределённых запросов, исходящих из текущего узла, то есть агрегированная по всем участвующим узлам.Добавлен пакет pgpro_pwr, совместимый с Shardman и позволяющий пользователям собирать отчёты о нагрузке.
Улучшена информативность команды
EXPLAIN
. Если план запроса содержит узлыForeignScan
, теперь в вывод командыEXPLAIN
может быть включён выводEXPLAIN
по запросам, выполняемым на удалённом сервере.Добавлен новый параметр конфигурации
enable_partition_pruning_extra
, управляющий расширенной логикой отсечения секций подплана при построении и выполнении общих планов, в которых набор полезных секций зависит от параметров подготовленного запроса. Этот параметр позволяет Shardman выполнять первоначальное отсечение секций в сложных подпланах, соединениях и частичных агрегированиях.В представление
shardman.pg_stat_csn
добавлены метрики, показывающие задержки глобального горизонта и транзакцию, которая может их вызывать. Они могут быть полезны для исследования проблем автоочистки.
A.10.2. Утилиты управления
Значительно улучшено резервное копирование и восстановление с помощью команды
shardmanctl probackup
. Основные изменения представлены ниже:Добавлена поддержка создания резервных копий в S3-совместимом объектном хранилище.
Реализовано выборочное архивирование WAL подкомандой
probackup
в заданных сегментах.Добавлены две новые команды:
shardmanctl probackup delete
иshardmanctl probackup merge
. Командаdelete
удаляет резервную копию с указанным ID и ставшие ненужными заархивированные файлы WAL. Командаmerge
объединяет резервные копии, принадлежащие общей инкрементальной цепочке резервных копий.Добавлена новая команда
shardmanctl probackup set-config
, с помощью которой в файлеpg_probackup.conf
можно создавать новые параметры или изменять существующие.Добавлен новый параметр
log-to-console
для подкомандыvalidate
. Размер файла журнала установлен равным 20 МБ. По достижении этого лимита происходит ротация журнала при запуске командыvalidate
илиbackup
.Увеличено количество повторных попыток выполнения некоторых подкоманд во избежание сбоев резервного копирования из-за больших размеров баз данных.
Добавлена проверка совместимости топологии текущего кластера Shardman с кластером в каталоге резервных копий при выполнении подкоманд
backup
иrestore
.Установлено значение по умолчанию для количества одновременных процессов pg_probackup, равное количеству логических ЦП в системе.
Исправлена очистка данных после сбоя подкоманды
backup
. Ранее некоторые данные резервного копирования, закончившегося сбоем, могли оставаться в репозитории.Устранено зависание, которое могло возникать при восстановлении только метаданных кластера Shardman.
Устранена проблема в pg_probackup, которая могла возникать в процессе восстановления схемы.
Изменено поведение процесса восстановления только метаданных во избежание потери кластера. Теперь кластер останавливается перед выполнением такого восстановления и вновь запускается после его завершения. Кластер без узлов не может быть восстановлен из резервной копии etcd, и если ID резервной копии кластера отличается от ID текущего кластера, то пользователя просят подтвердить, что необходимо выполнить восстановление кластера с отличающимся ID.
Добавлены новые параметры для команды
archive-command
:--compress
,--compress-algorithm
,--compress-level
,--batch-size
и-j|--jobs
. Эти параметры помогают уменьшить размер WAL.Улучшена информативность вывода команды
show
. Добавлены новые флаги:-archive
для вывода информации о журнале,-instance
и-i|--backup-id
для вывода информации об указанных экземплярах и резервных копиях.
Изменено поведение команд
getconnstr
иcluster topology
так, что они не вызывают блокировку других процессов. Ранее из-за таких блокировок некоторые команды не могли получить строку подключения.Устранена ошибка уровня panic, которая могла возникать в кластере Shardman с конфигурацией
PlacementPolicy
=manual
при выполнении пользователем командыshardmanctl cluster repfactor set
.Убраны неинформативные предупреждения, выводящиеся pg_dump во время выполнения команд
shardmanctl nodes add
иshardmanctl probackup backup
.Убрана блокировка, требовавшаяся для команды
shardmanctl status
. Ранееshardmanctl status
не предоставляла полезной информации о зависании процесса из-за ожидания блокировки.Добавлен параметр конфигурации
forceSuUserLocalPeerAuth
. При включённом параметре для пользователяpostgres
устанавливается аутентификация peer через сокет Unix, если дляstrictUserHBA
не установлено значениеtrue
. За подробностями обратитесь к sdmspec.json.Добавлен URL-адрес обнаружения служб системы Prometheus в shardmand.