E.30. Postgres Pro Enterprise 12.3.1
Дата выпуска: 2020-05-29
E.30.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.30.2. Миграция на версию 12.3.1
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 12.