E.19. Postgres Pro Standard 12.5.1

Дата выпуска: 2020-11-30

E.19.1. Обзор

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

  • Ликвидирован дефект, в результате которого в процессе REINDEX CONCURRENTLY могли образовываться некорректные связи индексов с типами, что затем проявлялось в ошибках "cache lookup failed for type xxx"(ошибка поиска в кеше для типа xxx) при выполнении VACUUM ANALYZE. Если ранее вы производили переиндексирование в этом режиме и наблюдаете подобные ошибки, устранить их можно, выгрузив/восстановив данные или удалив/создав индексы, либо обратившись к нашей службе поддержки.

  • В состав Postgres Pro Standard включено расширение pgpro_stats, предназначенное для сбора статистики выполнения SQL-операторов и подсчёта статистики событий ожидания.

  • Устранён дефект в функции оценки избирательности по индексу при вычислении условия. Ранее в случае аннулирования кеша типов в неудачный момент во время выполнения этой функции мог произойти крах сервера.

  • Добавлена поддержка ОС Ubuntu 20.10; поддержка Ubuntu 19.10 прекращена.

  • Прекращена поддержка ОС Red Hat Enterprise Linux (RHEL) 6 и основанных на ней Oracle Linux 6 и CentOS 6.

  • Появилась поддержка семейства операционных систем ОСнова. А именно, добавлена поддержка системы ОСнова 2.0.

  • Исправлена ошибка в модуле pg_variables. Теперь вы можете создавать в транзакции переменные после удаления одноимённых.

  • Приложение mamonsu обновлено до версии 2.6.1.

  • pgbouncer обновлён до версии 1.15.

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