E.29. Postgres Pro Enterprise 12.3.1
Дата выпуска: 2020-05-29
E.29.1. Обзор
Этот выпуск основан на PostgreSQL 12.3 и Postgres Pro Enterprise 12.2.1. Все изменения, унаследованные от PostgreSQL 12.3, описаны в Замечаниях к выпуску PostgreSQL 12.3. По сравнению с Postgres Pro Enterprise 12.2.1 эта версия также содержит следующие изменения:
Устранено зацикливание планировщика, которое наблюдалось при операциях соединения со множеством условий
IN
и сопровождалось потреблением всей свободной памяти.Устранена возможность сбоя сервера в случае обращения процесса автоочистки к удалённому вручную пространству имён.
Устранена ошибка, которая могла приводить к нарушению транзакционной целостности при использовании множества автономных транзакций.
Ликвидирован дефект в команде
SHOW
, вследствие которого при включённом пуле соединений могли показываться некорректные значения параметров.Исправлено значение по умолчанию параметра plan_cache_lru_size. Теперь он действительно равен 0 (а не 64, как было ранее), что означает, что количество автоматически подготавливаемых операторов этим параметром не ограничивается. Ограничивается только объём занимаемой ими памяти, и задаёт это ограничение параметр plan_cache_lru_memsize.
Устранено некорректное обращение к памяти в коде оптимизации дубликатов в индексах-B-деревьях, вследствие которого могли возникнуть проблемы при восстановлении.
Для утилиты pg_rewind добавлен ключ
-c
/--restore-target-wal
, позволяющий автоматически запрашивать недостающие файлы WAL из архива, используя команду restore_command, определённую в конфигурации целевого кластера. Эта функциональность Postgres Pro принята сообществом PostgreSQL и появится в ещё разрабатываемой ванильной версии PostgreSQL 13.Реализована замена нижележащего индекса для первичного ключа и ограничений-исключений с использованием предложения
ALTER CONSTRAINT ... USING INDEX
команды ALTER TABLE. Ранее эта функциональность поддерживалась только для уникальных ограничений. Помимо этого были улучшены проверки совместимости заменяемых индексов.В CFS теперь можно изменять параметр cfs_gc_threshold в рамках текущего сеанса. Например, можно временно задать для него меньшее значение, если требуется отдельно дефрагментировать отношение, процент мусора в котором меньше глобально установленного предела.
Устранена утечка памяти, проявлявшаяся при операциях соединения, в которых требовалось оценивать множество путей выполнения для сложных запросов.
Добавлен параметр
--no-data-checksums
для initdb, позволяющий инициализировать кластеры Postgres Pro с отключёнными контрольными суммами.Оптимизирована запись пустых страниц в файлы
*.cfm
при создании базовых копий.Добавлена поддержка Oracle Linux 8.
Добавлена поддержка ОС Альт 8 СП.
Добавлена поддержка системы Ubuntu 20.04.
Добавлен пакет
plpython3
для ОС Rosa Enterprise Linux Server и РОСА «КОБАЛЬТ» (серверная редакция) на платформе РОСА и AlterOS 7.5, где его раньше не было. Теперь он предоставляется для всех поддерживаемых платформ, кроме SLES 11.Обновлено несколько библиотек, поставляемых с Postgres Pro для Windows, до следующих версий: OpenSSL 1.1.1g, libzstd 1.4.4, gettext 0.20.2, libiconv 1.16, libxml2 2.9.9 и libxslt 1.1.32. Библиотека ICU была обновлена с версии 56.1 до 56.2.
Расширение PTRACK обновлено до версии 2.1. В этой версии был значительно переработан API. В частности, для включения этой функциональности теперь нужно использовать параметр ptrack.map_size, а не
ptrack_map_size
. За подробностями обратитесь к документации PTRACK.Обновлено расширение multimaster. В нём появилась функция mtm.check_query(query_text) для проверки согласованности данных на разных узлах кластера. За подробностями обратитесь к Подразделу F.30.4.6.
Расширение pgpro_scheduler обновлено до версии 2.6. В эту версию вошёл ряд улучшений, включая полностью переписанную реализацию разбора заданий cron. Кроме того, pgpro_scheduler теперь запускает назначенные задания как только появляется доступный фоновый исполнитель, если в назначенное время свободных исполнителей не оказалось.
Расширение pageinspect обновлено до версии 1.6, теперь оно корректно обрабатывает 64-битные идентификаторы транзакций.
Обновлено расширение vops; теперь оно предоставляет автоматический способ формирования векторизованного представления данных и обращения к нему. За подробностями обратитесь к Подразделу F.70.5.5.
Расширение pg_pathman обновлено до версии 1.5.11. В данной версии устранена ошибка, возникавшая при попытке обращения к дочерним секциям, к которым нет доступа, при том, что к родительской таблице доступ разрешён. Эта проблема могла наблюдаться ранее при использовании pg_pathman с Postgres Pro 11.7.1 или новее.
E.29.2. Миграция на версию 12.3.1
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 12.