E.18. Postgres Pro Standard 12.6.1

Дата выпуска: 2021-03-03

E.18.1. Обзор

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

  • Приложение pg_probackup обновлено до версии 2.4.10. Её основные отличия от ранее поставляемой версии 2.4.2:

    • При инкрементальном восстановлении с флагом --force можно перезаписать содержимое каталога, задаваемого параметром PGDATA, в случае совпадения системных идентификаторов. Ранее в подобных случаях выдавалась ошибка.

    • Стало возможным восстанавливать или проверять копии, находящиеся в файловой системе «только для чтения».

    • Объединение копий на месте теперь не поддерживается только при смене формата хранения.

    • Реализованы разделяемые блокировки копий, что позволяет выполнять проверку и восстановление сразу нескольких копий. Эти блокировки освобождаются при завершении программы.

    • Передаваемые сегменты WAL теперь добавляются в список файлов копии «на лету» и сбрасываются на диск в конце резервного копирования.

    За подробностями обратитесь к документации pg_probackup.

  • Исправлена ошибка, вследствие которой нельзя было задать для ptrack.map_size (см. PTRACK) значение больше 1024 MB из-за переполнения int32.

  • Обновлено расширение pgpro_stats. В нём появилась статистика использования ресурсов при выполнении запросов, а также метрики, связанные с аннулированием кешей.

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

  • Добавлена утилита pgpro_controldata, показывающая управляющую информацию кластера БД PostgreSQL/Postgres Pro и параметры совместимости кластера и/или сервера.

  • Добавлена функция pg_snapshot_any, позволяющая суперпользователям исследовать повреждённые базы данных. За подробностями обратитесь к Подразделу 9.26.11.

E.18.2. Миграция на версию 12.6.1

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

Встроенные функции numeric_eq, numeric_ne, numeric_gt, numeric_ge, numeric_lt и numeric_le фактически являются герметичными, но они не имели соответствующей пометки в Postgres Pro Standard до версии 12.2.1, в результате чего запросы могли выполняться неоптимально. В частности, это отрицательно сказывалось на производительности запросов при использовании политик защиты на уровне строк. В версии 12.2.1 это было исправлено для новых инсталляций в результате корректировки исходных данных каталога, но существующие инсталляции сохранят некорректные пометки, пока вы не исправите записи этих функций в pg_proc. Чтобы их исправить, обновите экземпляр сервера с помощью pg_upgrade либо вручную измените их в существующем кластере, выполнив во всех его базах данных соответствующие команды ALTER FUNCTION. Например:

ALTER FUNCTION pg_catalog.numeric_eq LEAKPROOF