E.14. Postgres Pro Enterprise 14.6.1
Дата выпуска: 2022-12-16
E.14.1. Обзор
Этот выпуск основан на PostgreSQL 14.6 и Postgres Pro Enterprise 14.5.2. Все изменения, унаследованные от PostgreSQL 14.6, описаны в Замечаниях к выпуску PostgreSQL 14.6. По сравнению с Postgres Pro Enterprise 14.5.2 эта версия также содержит следующие изменения:
Добавлен параметр ignore_event_trigger, который позволяет временно отключить событийные триггеры.
Добавлен параметр slru_buffers_size_scale, позволяющий управлять размером SLRU-буферов в разделяемой памяти. Обратите внимание, что вследствие этого размер буферов изменился.
Улучшена логика сборки мусора в CFS. Теперь процент «мусорных» блоков в файле рассчитывается исходя из размера файла, округлённого до 4 КБ (типичный размер блока в файловых системах), что предотвращает частую дефрагментацию небольших файлов.
Добавлена поддержка архитектуры процессоров Эльбрус в операционных системах Альт 9/10 (для e2kv3/e2kv4), Альт 8.2 СП (для e2kv3/e2kv4) и Astra Linux «Ленинград» 8.1 В Альт 10 рекомендуется использовать ядро Linux 5.4.182-mcst-e8c-alt3.22.1 или новее.
Исправлена проблема с аутентификацией по паролю при использовании пула соединений, которая проявлялась в ошибках вида «authentication identifier set more than once» (аутентификационный идентификатор указан повторно).
Устранена проблема, которая в редких случаях могла приводить к краху реплики при физической репликации. Ранее записи WAL с информацией об обновлении и инициализации страниц кучи не содержали
pd_multi_base
, в результате чего значенияxmax
могли оказаться некорректными.Устранено сильное завышение оценки избирательности, наблюдаемое в редких случаях и приводившее к последовательному сканированию всего отношения вместо быстрого сканирования индекса, из-за чего запросы выполнялись гораздо медленнее, чем ожидалось. Ошибка была вызвана недочётом, допущенным недавно при оптимизации оценок избирательности.
Устранена причина периодического резкого увеличения счётчика
checkpoint_req
в представленииpg_stat_bgwriter
на реплике. Причина заключалась в увеличении счётчика даже при неудачных попытках создать точку перезапуска (а таких попыток могло быть много). Теперь заранее проверяется, что попытка создания точки перезапуска окончится неудачей, и заведомо неудачные попытки не предпринимаются. Следует отметить, что такие попытки не приводили к повышенному потреблению системных ресурсов.Обеспечена совместимость in_memory с автономными транзакциями.
Исправлена ошибка в psql, из-за которой метакоманды
\du+
и\duS+
ошибочно воспринимались как недопустимые. Эти команды выводят список ролей базы данных, включая системные роли, с разным уровнем детализации и равнозначны командам\dgS+
и\du+S
(соответственно), которые обрабатывались правильно и до исправления ошибки.Модуль aqo обновлён до версии 1.5, в которую вошли исправления ошибок и следующие изменения:
База знаний aqo теперь сохраняется в отдельных файлах на диске, а не в таблицах Postgres Pro.
Расширение aqo сделано перемещаемым.
Добавлены функции, позволяющие анализировать качество планирования запросов.
Добавлена возможность обучения на частично выполненных запросах, в частности, прерванных по тайм-ауту (см. statement_timeout).
Модуль aqo переведён на использование идентификаторов запросов, универсальных для всех расширений. Теперь aqo и pg_stat_statements можно использовать одновременно, с одними и теми же идентификаторами.
Модуль aqo теперь может оптимизировать запросы с временными таблицами.
Устранён ряд утечек памяти.
Добавлена альфа-версия новой функциональности: поиск по соседям (по умолчанию отключена). Она позволяет расширить область применения знаний на вновь поступающие запросы с отличающейся структурой.
Приложение mamonsu обновлено до версии 3.5.2, в которой были исправлены некоторые ошибки и появились новые возможности. Основные изменения перечислены ниже:
Добавлены метрики использования автоочистки.
Добавлены макросы Zabbix на основе параметров дополнительных модулей из файла конфигурации, так что теперь триггеры можно динамически менять прямо в Zabbix без обновления файла конфигурации и перезапуска mamonsu.
Расширение multimaster считается готовым к использованию. Основные изменения перечислены ниже:
Реализован механизм предотвращения взаимоблокировок, управляемый параметром
multimaster.deadlock_prevention
. Это позволяет избежать ситуаций, в которых из-за медленного разрешения наступивших взаимоблокировок отработка транзакций будет занимать существенно большее время.Скорректированы состояния применяющих процессов
multimaster
, выводимые в представленииpg_stat_activity
. Теперь после применения транзакций состояние процесса меняется наidle
, а неactive
.Исправлена ошибка, которая могла приводить к изоляции всех узлов кластера
multimaster
после удаления любого узла и добавления нового узла в кластер.
В набор пакетов Postgres Pro для Windows добавлен oracle_fdw.
Приложение pg_probackup обновлено до версии 2.5.10, в которой улучшена производительность и исправлены некоторые ошибки. Основные изменения перечислены ниже:
Оптимизировано резервное копирование файлов
*.cfm
путём усечения конечных нулей.Устранена проблема в команде
checkdb
--amcheck
, которая ранее не могла обрабатывать базы, содержащие секционированные индексы.Устранена ошибка, возникавшая на ведомом сервере в случае, если на ведущем работал агент pg_probackup другой версии.
Модуль pgpro_pwr обновлён до версии 4.1, главным новшеством которой стало добавление статистики JIT в отчёты.
Расширение pgpro_scheduler обновлено до версии 2.8. В этой версии добавлена функция schedule.timetable(), возвращающая все задания (многократно повторяемые и одноразовые), которые должны выполниться в заданном интервале времени.
Модуль pgpro_stats обновлён до версии 1.4.3, в которой, в частности:
Исправлена ошибка, которая могла вызвать крах сервера во время нормализации текста запроса при использовании расширенного протокола.
Добавлено расширение tds_fdw, предоставляющее обёртку сторонних данных для подключения к Microsoft SQL Server и другим базам данных, использующим протокол TDS (Tabular Data Stream, Поток табличных данных).
E.14.2. Миграция на версию 14.6.1
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Если вы хотите сохранить существующее представление карт видимости в pageinspect при миграции на текущую основную версию Postgres Pro Enterprise с использованием pg_upgrade, выполните команду VACUUM
, прежде чем начинать обновление.
Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 14.