E.5. Postgres Pro Standard 12.18.1
Дата выпуска: 2024-02-14
E.5.1. Обзор
Этот выпуск основан на PostgreSQL 12.18 и Postgres Pro Standard 12.17.1. Все усовершенствования, унаследованные от PostgreSQL 12.18, перечислены в Замечаниях к выпуску PostgreSQL 12.18. Другие важные изменения и улучшения перечислены ниже:
Добавлены параметры конфигурации, позволяющие управлять сбором информации о сбоях сервера. Параметр crash_info включает эту функциональность, а crash_info_dump и crash_info_location указывают содержимое и расположение файлов с информацией о сбоях соответственно.
В утилиту initdb добавлены параметры
-m
,-o
и-x
для тестирования обновлений БД с нестандартными начальными значениями идентификаторов транзакций, мультитранзакций и смещений мультитранзакций. Ранее эти параметры были доступны только в Postgres Pro Enterprise.Оптимизировано потребление памяти при оценке избирательности для каждого элемента массива по сравнению с ванильными версиями PostgreSQL.
Устранены условия гонки между рабочим процессом автоочистки и серверными процессами при удалении потерянных таблиц, приводившие к ошибкам «cache lookup failed for relation» (ошибка поиска в кеше для отношения). Теперь при удалении потерянных таблиц процесс автоочистки блокирует пространства имён.
Устранена проблема, которая могла возникать во время установки сервера Postgres Pro в системах на базе Debian, включённых в домен с пользователем
postgres
.Исправлен вывод скрипта pg-setup, в котором при инициализации кластера ошибочно отображалась локаль из переменной окружения
LANG
. Теперь сообщение о локали на данном этапе не отображается.Прекращена поддержка Rosa Enterprise Linux Server 7.
Прекращена поддержка ОС РОСА «КОБАЛЬТ» (серверная редакция) на платформе РОСА 7.
Модуль orafce обновлён до версии 4.9.1.
pg_filedump обновлён до версии 16.1.
Приложение pg_probackup обновлено до версии 2.7.2, в которой улучшена производительность и исправлены некоторые ошибки:
Устранена проблема, возникавшая во время инкрементального копирования, из-за которой ещё не скопированная таблица удалялась из CFS.
Исправлен порядок обработки файлов WAL командой
archive-push
в случаях, когда количество файлов WAL превышает указанное значение--batch-size
.Исправлена ошибка «WAL segment is absent» (сегмент WAL отсутствует), которая могла возникнуть, если размер регистрируемой записи WAL превышал размер сегмента WAL.
Утилита pg_repack обновлена до версии 1.5.0.
Обновлено расширение pg_variables, которое теперь предоставляет функциональность итератора для любых коллекций, а также функции для работы с общими переменными-коллекциями. Эти функции позволяют получить доступ к элементам коллекции по ключу, который может иметь целочисленный или текстовый тип. Эти улучшения облегчают миграцию кода Oracle, обрабатывающего коллекции.
Расширение pgpro_stats обновлено до версии 1.7, в которой улучшена производительность и исправлены некоторые ошибки:
Реализация в расширении pgpro_stats чтения файла «текстов запросов» блоками размером не больше 1 ГБ (подобно аналогичной реализации в pg_stat_statements). Такие большие файлы с текстами запросов встречаются крайне редко, но в случае их наличия ранее происходил сбой в 64-битной ОС Windows (в которой один запрос на чтение файла не может прочитать больше 2 ГБ).
Добавлена обратная совместимость функций
pgpro_stats_statements
иpgpro_stats_totals
. Теперь поддерживаются случаи, когда более новая версия загружаемого модуля pgpro_stats используется со старым объявлением SQL функций. Ранее подобные случаи вызывали крах сервера.Устранена проблема, из-за которой не выводились статистики очистки баз данных в представлении
pgpro_stats_vacuum_database
.
Модуль pgpro_pwr обновлён до версии 4.4, в которой добавлена поддержка pgpro_stats 1.7, и в отчёты включены новые интерактивные возможности и фильтрация на основе подстроки.
E.5.2. Миграция на версию 12.18.1
Если вы обновляете выпуск Postgres Pro Standard на базе той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Встроенные функции numeric_eq
, numeric_ne
, numeric_gt
, numeric_ge
, numeric_lt
и numeric_le
фактически являются герметичными, но они не имели соответствующей пометки в Postgres Pro Standard версии 12.1.1, в результате чего запросы могли выполняться неоптимально. В частности, это отрицательно сказывалось на производительности запросов при использовании политик защиты на уровне строк. В версии 12.2.1 это было исправлено для новых инсталляций в результате корректировки исходных данных каталога, но существующие инсталляции сохранят некорректные пометки, пока вы не исправите записи этих функций в pg_proc
. Чтобы их исправить, обновите экземпляр сервера с помощью pg_upgrade либо вручную измените их в существующем кластере, выполнив во всех его базах данных соответствующие команды ALTER FUNCTION
. Например:
ALTER FUNCTION pg_catalog.numeric_eq LEAKPROOF
При обновлении с версии Postgres Pro 12.6.1 и ниже перестройте покрывающие индексы с неключевыми столбцами, для которых на уровне таблицы определено правило сортировки.
Если вы используете PTRACK в процедуре резервного копирования, реализуемой c помощью утилиты pg_probackup, и обновляетесь с Postgres Pro версии 12.6.2 или ниже, сделайте полную резервную копию базы данных после обновления.