Дата выпуска: 2019-08-14
Этот выпуск основан на 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(), следствием которой могло быть зависание или нарушение процедуры восстановления узла.
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Для перехода с PostgreSQL, Postgres Pro Standard или выпуска Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям в Замечаниях к выпуску Postgres Pro Enterprise 11.2.1.