E.5. Postgres Pro Enterprise 12.19.1
Дата выпуска: 2024-05-24
E.5.1. Обзор
Этот выпуск основан на PostgreSQL 12.19 и Postgres Pro Enterprise 12.18.3. Все изменения, унаследованные от PostgreSQL 12.19, описаны в Замечаниях к выпуску PostgreSQL 12.19. По сравнению с Postgres Pro Enterprise 12.18.3 эта версия также содержит следующие изменения:
Отключён тайм-аут запуска системы: значение параметра
TimeoutSec
в systemd теперь по умолчанию равно 0. Ранее большие БД могли не успеть запуститься за указанное в параметре время.Понижен уровень протоколирования во время создания указанной точки восстановления во время тайм-аута между контрольными точками только для неактивных баз. Это позволяет удалить из журнала лишние сообщения.
Добавлен параметр конфигурации cfs_log_verbose, который управляет уровнем детализации сообщений CFS о дефрагментации в журнале. Это позволяет уменьшить количество сообщений CFS в журнале.
Добавлен параметр конфигурации cfs_gc_lock_file, задающий путь к файлу блокировки, который гарантирует, что для нескольких серверов Postgres Pro будет выполняться только один рабочий процесс сборки мусора.
Устранена проблема, приводившая к ошибке «cache lookup failed for collation 128» (ошибка поиска правила сортировки 128 в кеше). Теперь для дополнительных столбцов индекса
INCLUDE
правила сортировки игнорируются.Устранены две ошибки в планировщике. Первая была связана с дублированием выражений и в некоторых случаях приводила к занижению оценки избирательности и стоимости, из-за чего выбирался неоптимальный план. Вторая ошибка заключалась в завышенной оценке избирательности для узла
AppendOr
из-за завышения оценки избирательности подузлов, что приводило к завышению оценки стоимости плана.Исправлена ошибка, из-за которой агрессивная автоматическая очистка запускалась слишком часто. Теперь агрессивное сканирование с целью очистки будет происходить для любой таблицы, возраст мультитранзакций которой больше, чем autovacuum_multixact_freeze_max_age.
Прекращена поддержка Astra Linux «Орёл» 2.12.
Прекращена поддержка Astra Linux «Смоленск» 1.6.
Прекращена поддержка РЕД ОС 7.2 МУРОМ.
Приложение mamonsu обновлено до версии 3.5.8, в которой улучшена производительность и исправлены некоторые ошибки. Основные изменения перечислены ниже:
Добавлена поддержка API Zabbix 6.4: обработка устаревших параметров для запросов аутентификации.
Исключено кеширование метрики
pgsql.connections[max_connections]
.Обновлены правила ротации журналов по умолчанию.
Выполнена подготовка для поддержки Python 3.12.
Изменены названия метрик модуля pg_locks. Имейте в виду, что эти изменения могут нарушить работу пользовательских триггеров и функций обработки, использующих параметр
item.name
.Исправлено несоответствие типов для pgpro_stats и pg_wait_sampling.
Исправлена ошибка в правах роли
mamonsu
, созданной с помощьюbootstrap
.
Модуль orafce обновлён до версии 4.10.0.
Приложение pg_probackup обновлено до версии 2.8.0 Enterprise, в которой улучшена производительность, добавлены новые возможности и исправлены некоторые ошибки. Основные изменения перечислены ниже:
Добавлена возможность ограничить скорость записи на диск с помощью параметра
--write-rate-limit
==bitrate (Mbps, Gbps)
.Уменьшено потребление памяти при восстановлении длинных последовательностей инкрементальных копий в среднем в два раза.
Добавлена проверка командой
checkdb
контрольной суммы для файлов CFS.Добавлена возможность проверять только архив WAL.
Расширено действие параметра
--dry-run
для всех команд pg_probackup.По умолчанию при резервном копировании в режиме STREAM теперь создаётся временный слот, если не указано иное.
Алгоритм сжатия по умолчанию изменён на
zstd
. Еслиzstd
не поддерживается системой, будет выбран алгоритмlz4
. Параметр--compress
теперь задаёт значения по умолчанию для--compress-level
и--compress-algorithm
.Добавлена возможность указывать несколько узлов для подключения к хранилищу S3.
Реализован новый метод блокировки, который позволяет использовать блокировки с протоколами S3 и NFS.
Добавлена функция
pgv_exists_elem
в pg_variables, которая проверяет, существует ли элемент с ключом в общей переменной-коллекции.Расширение pgpro_stats обновлено до версии 1.7.1, в которой были исправлены некоторые ошибки и появились новые возможности. Основные изменения перечислены ниже:
Добавлена возможность сохранения ненормализованных планов для запросов в pgpro_stats, планы которых ранее не сохранялись.
Исправлена проблема, препятствовавшая мониторингу, когда представление
pgpro_stats_statements
содержало большое количество строк с одинаковыми значениямиplan
иqueryid
, но разными значениямиplanid
. Проблема была вызвана ошибкой в разборе дерева планов, содержащего узелT_Memoise
.
Исправлена ошибка «ERROR: query failed: ERROR: tablespace "XXXX" does not exist» (ОШИБКА: запрос не выполнен: ОШИБКА: табличное пространство «XXXX» не существует), которая могла возникать, когда команда
pg_repack
пыталась реорганизовать таблицы в табличном пространстве, имя которого начинается с цифры. Основная причина проблемы заключалась в отсутствии дополнительных кавычек, которые ожидались pg_repack.Добавлен параметр
--save-fullpage
в pg_waldump. Он позволяет сохранять образы полных страниц, включённые в записи WAL, в заданный целевой каталог.
E.5.2. Миграция на версию 12.19.1
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Если вы хотите сохранить существующее представление карт видимости в pageinspect при миграции на текущую основную версию Postgres Pro Enterprise с использованием pg_upgrade, выполните команду VACUUM
, прежде чем начинать обновление.
Настоятельно не рекомендуется обновлять кластер с 32-битными идентификаторами транзакций на версии Postgres Pro Enterprise ниже 12.16.2 при наличии мультитранзакций в базе данных, поскольку это может вызвать повреждение данных.
Если вы ранее мигрировали на Postgres Pro Enterprise версии 12.7.1 или ниже, обязательно перестройте индексы GIN, выполнив команду REINDEX
.
Если вы ранее мигрировали с Postgres Pro Enterprise версии 11 или 10, обязательно перестройте индексы-B-деревья (за исключением уникальных, покрывающих и системных индексов). Перестроить такие индексы также рекомендуется, если вы мигрируете с указанных версий на текущую.
Если вы используете PTRACK в процедуре резервного копирования, реализуемой c помощью утилиты pg_probackup, и обновляетесь с Postgres Pro Enterprise версии 12.6.x или ниже, сделайте полную резервную копию базы данных после обновления.
Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 12.