E.14. Postgres Pro Standard 12.12.1

Дата выпуска: 2022-08-29

E.14.1. Обзор

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

  • Устранена проблема, вызывавшая ошибку «duplicate key value violates unique constraint» (повторяющееся значение ключа нарушает ограничение уникальности) при индексировании базы данных в несколько потоков. Теперь при выборе имени типа, создаваемого для индекса, устанавливается блокировка, защищающая от выбора этого имени в параллельном потоке.

  • Устранена проблема использования планировщиком статистики составных индексов: точность предсказания стоимости для плана запроса снижалась, если в предложении WHERE запроса сравнивались значения разных типов (например: integer и numeric, text и name). Иногда при определённых комбинациях сравниваемых типов мог произойти сбой сервера.

  • Прекращена поддержка системы Ubuntu 21.10.

  • Приложение mamonsu обновлено до версии 3.5.1. Основные изменения перечислены ниже:

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

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

    • Исправлен дефект в расчёте метрик, который вызывал ошибки «float division by zero» (ошибка деления на ноль) в модуле STATEMENTS приложения mamonsu.

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

    • Реализована возможность вывода журналов в формате JSON, и добавлены соответствующие параметры для выбора формата.

    • Добавлена возможность явного указания каталога, в который команда restore должна восстанавливать WAL.

    • Изменён уровень протоколирования некоторых сообщений pg_probackup для удобства чтения журналов пользователем.

    • Ликвидировано зависание pg_probackup, которое могло произойти, если в файле конфигурации SSH config включался параметр ControlMaster. Теперь для параметра ControlMaster явно задаётся значение no.

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

  • Добавлен пакет oracle_fdw для РЕД ОС 7.3 МУРОМ.

E.14.2. Миграция на версию 12.12.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 или ниже, сделайте полную резервную копию базы данных после обновления.