E.10. Postgres Pro Standard 15.3.1

Дата выпуска: 2023-05-29

E.10.1. Обзор

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

  • Добавлен параметр конфигурации unicode_nul_character_replacement_in_jsonb для замены '\u0000' заданным символом Unicode при вызове функции, обрабатывающей JSONB.

  • Добавлен журнал операций, в котором хранится информация о критически важных системных событиях, таких как обновление, выполнение pg_resetwal и т. п. Эта информация важна для осуществления технической поддержки со стороны поставщика. Запись в журнал операций производится только на системном уровне, а для его чтения используются функции SQL. (См. Подраздел 9.27.11.)

  • Добавлен экспериментальный подключаемый механизм TOAST, который предоставляет открытый API, позволяющий разрабатывать и подключать собственные реализации TOAST для столбцов таблиц и типов данных в дополнение к реализации по умолчанию. При этом данная, первая, версия API имеет некоторые ограничения, например, логическая репликация пока не поддерживается. (За подробностями обратитесь к Подразделу 69.2.3.)

  • Добавлена поддержка архитектуры ARM в операционных системах Альт 9/10, Альт СП 8.2 и выше, Astra Linux «Новороссийск», Debian 10/11, РЕД ОС МУРОМ 7.3, RHEL 8/9, Ubuntu 20.04/22.04. JIT-компиляция предоставляется в экспериментальном режиме.

  • Добавлена поддержка ОС Ubuntu 23.04; поддержка Ubuntu 18.04/22.10 прекращена.

  • Добавлена поддержка ОС РОСА «ХРОМ» 2021.2.

  • Исправлена внутренняя ошибка, возникавшая в процессе удаления замкнутого соединения. Ранее не учитывалось, что при преобразовании выражения вида 'A.x=B.x' в 'A.x IS NOT NULL' необходимо корректировать метапараметры преобразованного выражения, поскольку оно имеет другую семантику. Исходное выражение может быть использовано в различных операциях, например, для выбора атрибута сортировки или в качестве выражения параметризации JOIN, что неприменимо к преобразованному.

  • Приложение mamonsu обновлено до версии 3.5.3, в которой были исправлены некоторые ошибки и появились новые возможности. Основные изменения перечислены ниже:

    • Удалено ограничение, которое не позволяло пользователям, кроме mamonsu, читать и редактировать файл конфигурации agent.conf. В частности, плагин pg_probackup теперь работает корректно, когда пользователь mamonsu является владельцем каталога резервных копий pg_probackup.

    • Для Postgres Pro версии 14 и выше добавлены метрики pg_stat_wal в файл конфигурации Zabbix, экспортируемый командой mamonsu export zabbix-parameters....

    • Удалены метрики, конфликтующие с собственными агентами Zabbix, из экспортируемого файла конфигурации Zabbix.

    • Исправлен выбор расширения по умолчанию для сбора статистики. Теперь, если установлены и pgpro_stats, и pg_stat_statements, pgpro_stats корректно выбирается как используемое по умолчанию.

    • Добавлена проверка того, что сервер, на котором работает плагин mamonsu WAL, не находится в режиме восстановления.

  • Приложение pg_probackup обновлено до версии 2.6.3, в которой улучшена производительность и исправлены некоторые ошибки. Предыдущие версии несовместимы с Postgres Pro версии 15.3.1. Основные изменения перечислены ниже:

    • Команда catchup, ранее доступная только в тестовом режиме, теперь доступна в производственной среде.

    • Добавлена оптимизация для инкрементальных резервных копий, уменьшающая объём чтения с диска почти в два раза.

    • Улучшена информативность сообщений об ошибках и предупреждений, а также унифицирован стиль сообщений об ошибках.

    • Устранены проблемы с удобством использования команды show, в частности: исправлено отображение времени восстановления, которое иногда могло не отображаться после успешного резервного копирования; время резервного копирования теперь отображается в табличном виде, даже если резервное копирование завершилось ошибкой.

    • Устранена ошибка в указании относительного пути после восстановления кластера из резервной копии.

    • Исправлено назначение идентификаторов резервных копий, которое в некоторых случаях выполнялось некорректно.

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

    • Устранена проблема, из-за которой в инкрементальную резервную копию добавлялись все данные, а не только изменённые.

  • Приложение pgpro_stats обновлено до версии 1.6, в которой были исправлены некоторые ошибки и появились новые возможности:

    • Реализована трассировка сеансов приложений на основе фильтров, которые запускают протоколирование выполнения запросов, соответствующих условиям фильтрации. Вы можете использовать функции pgpro_stats для создания, изменения или удаления фильтров запросов. (За подробностями обратитесь к Подразделу G.2.6.1.)

    • Добавлены доступные только для суперпользователей функции, позволяющие создавать представления, которые эмулируют расширения pg_stat_statements и pg_stat_kcache. Можно создать представления pg_stat_statements, pg_stat_statements_info, pg_stat_kcache и pg_stat_kcache_detail. После этого с созданными представлениями можно работать так же, как если бы были установлены соответствующие расширения. (За подробностями обратитесь к Подразделу G.2.6.2.)

    • Добавлено представление pgpro_stats_archiver, которое расширяет системное представление pg_stat_archiver, добавляя к нему два новых поля: общее время, в течение которого процесс архивации был активен, и общее время, затраченное на выполнение команды архивации.

    • Добавлены новые статистики, доступные для pgpro_stats из pg_stat_statements: общее время чтения записи для блоков временных файлов и счётчики, связанные с JIT.

    • Добавлена обратная совместимость интерфейса статистик очистки. Теперь поддерживаются случаи, когда более новая версия загружаемого модуля pgpro_stats используется со старым объявлением SQL функций. Ранее подобные случаи вызывали крах сервера.

    • Устранены возможные сбои сервера, которые могли произойти из-за переполнения PGDATA, когда в расширении pgpro_stats выполнялся один или несколько длинных запросов. Теперь для хранения текстов запросов вместо временного файла, расположенного в каталоге PGDATA/pg_stat_tmp, можно использовать каталог с внешним файлом, установив значение параметра конфигурации pgpro_stats.stats_temp_directory. Можно установить это значение равным значению параметра конфигурации системы stats_temp_directory, но следует учитывать, что значение pgpro_stats.stats_temp_directory можно установить только при запуске сервера.

  • Модуль pgpro_pwr обновлён до версии 4.1.3, в которой добавлена поддержка расширения pgpro_stats версии 1.6 и появились новые возможности:

    • Добавлены таблицы отчётов «Top tables by removed all-visible/all-frozed marks» (Таблицы с наибольшим количеством удалённых меток полной видимости/заморозки).

    • Добавлено несколько новых полей в таблицу отчёта «Cluster Statistics» (Статистика кластера).

  • Расширение PTRACK обновлено до версии 2.4.3.

  • Модуль orafce обновлён до версии 4.2.6.

E.10.2. Миграция на версию 15.3.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.