E.6. Postgres Pro Enterprise 11.5.1

Дата выпуска: 2019-08-14

E.6.1. Обзор

Этот выпуск основан на PostgreSQL 11.5 и Postgres Pro Enterprise 11.4.2. Все изменения, унаследованные от PostgreSQL 11.5, описаны в Замечаниях к выпуску PostgreSQL 11.5. По сравнению с Postgres Pro Enterprise 11.4.2 эта версия также содержит следующие изменения:

  • Добавлена поддержка ОС Debian 10.

  • Добавлена поддержка Red Hat Enterprise Linux 8.

  • Добавлены ключи -z/-Z для программы postgres, предназначенные для проверки совместимости указанного кластера с данным исполняемым файлом postgres без собственно запуска кластера.

  • Устранена проблема при выделении памяти, проявлявшаяся при использовании механизма plan_cache_lru_size, который в Postgres Pro Enterprise по умолчанию включён.

  • В процедуре VACUUM исправлена логика удаления членов мультитранзакций с учётом реализации 64-битных идентификаторов транзакций и мультитранзакций. В результате решена проблема раздувания каталога pg_multixact.

  • Применена разработанная для будущих версий оптимизация проверки PostmasterIsAlive(). В системах Linux обслуживающие процессы теперь могут определить, что главный процесс уничтожен, обрабатывая специальный сигнал. Это в частности решает проблему, проявлявшуюся в раздувании pg_wal и высокой нагрузке процессора при использовании логической репликации с множеством публикаций и подписчиков. В ванильном PostgreSQL эта оптимизация появится в версии 12.

  • Скорректирована обработка «мёртвых» кортежей в индексах-B-деревьях, в которых производилось удаление дублирующихся ключей.

  • Улучшена точность планирования запросов с предложениями OR. Теперь результаты таких запросов сортируются корректно.

  • Исправлена реализация операторов > (больше) и <> (не равно) для типа jsquery.

  • Ликвидирована проблема безвыходной блокировки в модуле pg_wait_sampling, возникавшей при отключении клиентов, запрашивающих статистику по событиям ожидания. Теперь сборщик статистики в подобных случаях освобождает исключительную блокировку и выводит сообщение pg_wait_sampling collector: receiver of message queue has been detached (сборщик pg_wait_sampling: получатель очереди сообщений был отключён).

  • Улучшен модуль multimaster:

    • Добавлена поддержка автономных транзакций в кластерах multimaster (см. Главу 16).

    • Устранена проблема в multimaster, вследствие которой при попытке выполнить в серверном процессе первую транзакцию на уровне Repeatable Read или Serializable происходила ошибка. В случае этой ошибки выдавалось следующее сообщение: ERROR: SET TRANSACTION ISOLATION LEVEL must be called before any query (ОШИБКА: перед выполнением любого запроса необходимо вызвать SET TRANSACTION ISOLATION LEVEL).

    • Исправлена ошибка в функции mtm.make_table_local(), следствием которой могло быть зависание или нарушение процедуры восстановления узла.

E.6.2. Миграция на версию 11.5.1

Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.

Для перехода с PostgreSQL, а также с выпуска Postgres Pro или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 11.