E.20. Postgres Pro Standard 12.4.1

Дата выпуска: 2020-08-28

E.20.1. Обзор

Этот выпуск основан на PostgreSQL 12.4 и Postgres Pro Standard 12.3.1. Все усовершенствования, унаследованные от PostgreSQL 12.3, описаны в Замечаниях к выпуску PostgreSQL 12.4. По сравнению с Postgres Pro Standard 12.3.1 эта версия также содержит следующие изменения:

  • Приложение pg_probackup обновлено до версии 2.4.2:

    • Для большей гибкости добавлены новые параметры и флаги команд delete, backup, restore, archive-push и set-backup.

    • Добавлена возможность инкрементального восстановления и поддержка инкрементальных цепочек с разными линиями времени.

    • Во время восстановления теперь могут задаваться параметры Postgres Pro slot_name и primary_conninfo.

    • Существенно переработаны команды archive-push и archive-get.

    • Были улучшены показатели производительности и потребления памяти.

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

  • Добавлен необязательный аргумент tune команды pg-setup initdb. С помощью этого аргумента вы можете выбрать для вашего кластера одну из предопределённых настроенных конфигураций.

  • Прекращена поддержка Альт Линукс 7, при этом поддержка Альт Линукс СПТ 7.0 сохранена ради удобства существующих клиентов.

  • Прекращена поддержка SUSE Linux Enterprise Server 11.

  • Исправлены дефекты в реализации BRIN, приводившие к следующим ошибкам:

    • «failed to find parent tuple for heap-only tuple ...» (не удалось найти родительский кортеж для неиндексированного кортежа...)

      Эта ошибка могла возникать, когда в параллельных транзакциях одновременно выполнялись функция brin_summarize_new_values() и изменения данных по методу HOT.

    • «corrupted BRIN index: inconsistent range map» (испорченный индекс BRIN: несогласованность в карте диапазонов)

      Эта ошибка могла возникать, когда в параллельных транзакциях одновременно выполнялись сброс обобщения зоны страниц и сканирование индекса.

  • Приложение mamonsu для Linux обновлено до версии 2.5.1. Теперь оно базируется на Python 3. Для Windows по-прежнему поставляется версия 2.3.4.

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