E.20. Postgres Pro Enterprise 12.10.1
Дата выпуска: 2022-03-10
E.20.1. Обзор
Этот выпуск основан на PostgreSQL 12.10 и Postgres Pro Enterprise 12.9.1. Все изменения, унаследованные от PostgreSQL 12.10, описаны в Замечаниях к выпуску PostgreSQL 12.10. По сравнению с Postgres Pro Enterprise 12.9.1 эта версия также содержит следующие изменения:
Оптимизирован доступ к полю LSN в заголовке страницы за счёт замены блокировок атомарным чтением; реализовано кеширование номера блока, соответствующего странице. В результате благодаря уменьшению времени ожидания блокировок и ускорению получения номеров блоков обеспечивается лучшая производительность при одновременном обращении нескольких клиентов к одним и тем же блокам.
Добавлена функция
pgpro_stats_wal_sender_crc_errors
, возвращающая количество ошибок, обнаруженных процессом-передатчиком WAL.Число разделов хеш-таблицы сопоставлений в общем буфере увеличено до 1024, что может положительно сказаться на производительности в многоядерных системах.
Исправлена ошибка в отложенном преобразовании страниц от 32-битных к 64-битным идентификаторам транзакций, производимом в только читающих транзакциях или на репликах. Теперь при таком преобразовании страницы будут помечаться как подлежащие записи WAL в виде полных страниц. Вследствие этой ошибки могли происходить сбои при синхронизации преобразованных страниц с другими репликами.
Устранена ошибка сегментации, которая могла возникнуть при определённых условиях вызова процедуры, если был задан параметр plan_cache_lru_memsize.
Устранена проблема, из-за которой после удаления таблиц в сжатом табличном пространстве на диске оставались подлежащие удалению файлы
*.cfm
.Скорректировано использование многоколоночной статистики планировщиком. Ранее, оценивая избирательность запроса с использованием многоколоночной статистики, в случаях, когда условия запроса включали не все столбцы этой статистики, планировщик мог сильно завышать оценку мощности, в результате чего выбирался неоптимальный план.
Исправлены параметры уничтожения процессов при нехватке памяти (OOM) в конфигурации службы Postgres Pro. Ранее поправка очков OOM устанавливалась для всех процессов Postgres Pro, а не только для postmaster, поэтому, когда Postgres Pro исчерпывал всю оперативную память, могли уничтожаться другие важные процессы, например, sshd.
Устранена утечка памяти в процессе postmaster. Ранее при каждом подключении терялся небольшой объём памяти.
Добавлена поддержка Rocky Linux 8.
Прекращена поддержка устаревших операционных систем Debian 8 и Astra Linux «Смоленск» 1.5.
Модуль mamonsu обновлён до версии 3.4.0. Основные изменения перечислены ниже:
Добавлен новый параметр
timeout
в раздел[zabbix]
конфигурационного файла mamonsu. Данный параметр позволяет установить максимальное время ожидания при подключении к серверу Zabbix.Добавлена новая команда
mamonsu dashboard upload
, предназначенная для загрузки панели Zabbix с метриками mamonsu в шаблон на сервере Zabbix версии 6.0 или выше.имя_шаблона
Приложение pg_probackup обновлено до версии 2.5.5, в которой по сравнению с версией 2.5.3 были исправлены некоторые ошибки и появились новые возможности:
Для команды
checkdb
добавлен параметр--checkunique
(работающий только с--amcheck
), позволяющий проверять ограничения уникальности в ходе проверки индексов. Для соответствующей проверки в базе данных должно быть установлено расширение amcheck подходящей версии. За подробностями обратитесь к документации amcheck.Устранена проблема, которая могла возникнуть, когда исходная БД не находилась на линии времени 1 и целевая не отставала от исходной: probackup проверял целостность истории линии времени
catchup
и выводил сообщение об ошибке «Destination is not in source timeline history» (Целевого состояния нет в истории исходной линии времени).Устранена проблема, связанная с поведением
catchup
в режимахDELTA
иPTRACK
. Она могла проявляться, когда использовалось удалённое подключение через SSH и в параметрах--destination-pgdata
и--source-pgdata
задавался одинаковый путь, и вызывала повреждение исходного экземпляра (как минимум удалялись файлыglobal/pg_control
,global/pg_filenode.map
иbase/*/pg_filenode.map
); в результате выводилось сообщение вида «Could not open file "/pgwal/test/global/pg_control" for reading: No such file or directory» (Не удалось открыть для чтения файл "/pgwal/test/global/pg_control": нет такого файла или каталога).
Расширение pgpro_pwr обновлено до версии 3.7.
E.20.2. Миграция на версию 12.10.1
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Если вы ранее мигрировали на 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.