E.2. Postgres Pro Standard 15.6.1

Дата выпуска: 2024-02-16

E.2.1. Обзор

Этот выпуск основан на PostgreSQL 15.6 и Postgres Pro Standard 15.5.1. Все усовершенствования, унаследованные от PostgreSQL 15.6, перечислены в Замечаниях к выпуску PostgreSQL 15.6. Другие важные изменения и улучшения перечислены ниже:

  • Изменены на lz4 значения по умолчанию параметров конфигурации default_toast_compression и wal_compression, что ускоряет обработку WAL и TOAST и снижает объём используемого дискового пространства.

  • Добавлены параметры конфигурации, позволяющие управлять сбором информации о сбоях сервера. Параметр crash_info включает эту функциональность, а crash_info_dump и crash_info_location указывают содержимое и расположение файлов с информацией о сбоях соответственно.

  • В утилиту initdb добавлены параметры -m, -o и -x для тестирования 64-битных XID. Ранее эти параметры были доступны только в Postgres Pro Enterprise.

  • Оптимизировано потребление памяти при оценке избирательности для каждого элемента массива по сравнению с ванильными версиями PostgreSQL.

  • Устранена ошибка сегментации, которая могла возникнуть при выполнении запросов или использовании планировщика во время работы расширения pg_pathman. Расширение не учитывало появление новых полей в структуре RangeTblEntry (RTE), и они инициализировались некорректно. При создании обычной копии родительской RTE pg_pathman также переносились указатели на родительские классы эквивалентности или их члены. Это несоответствие обнаруживалось при планировании запроса и вызывало ошибку.

  • Устранены условия гонки между рабочим процессом автоочистки и серверными процессами при удалении потерянных таблиц, приводившие к ошибкам «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_proaudit обновлено до версии 2.0, в которую включены следующие основные изменения и усовершенствования:

    • Добавлены новые функции pg_proaudit_set_rule и pg_proaudit_remove_rule, которые позволяют создавать и удалять правила регистрации событий соответственно. Эти функции заменили pg_proaudit_set_object, pg_proaudit_set_role, pg_proaudit_reset_object и pg_proaudit_reset_role.

    • Реализована возможность регистрировать группы событий, указав соответствующее значение в аргументе event_type.

    • В представление pg_proaudit_settings добавлен столбец comment, в котором отображается комментарий с описанием созданного правила регистрации событий.

    • Реализована возможность регистрации событий безопасности, связанных с объектами типа PREPARED STATEMENT, а также событий типов DEALLOCATE, EXECUTE и PREPARE.

    • Устранена проблема с некорректной регистрацией событий безопасности для команд CREATE DATABASE, CREATE GROUP, CREATE ROLE, CREATE TABLESPACE и CREATE USER. Раньше эти события регистрировались как SUCCESS после проверки синтаксиса и до выполнения самой команды. Теперь SUCCESS вносится в журнал при завершении выполнения команды, а в случае сбоя она помечается как FAILURE.

  • Приложение 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, и в отчёты включены новые интерактивные возможности и фильтрация на основе подстроки.

  • Расширение PLV8 обновлено до версии 3.2.2.

E.2.2. Миграция на версию 15.6.1

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

При обновлении до версии Postgres Pro 15.3.1 и выше обязательно обновите pg_probackup до версии 2.6.3 или выше, поскольку более ранние версии pg_probackup несовместимы с этими версиями Postgres Pro.

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