E.4. Postgres Pro Standard 16.6.1 #
Дата выпуска: 2024-11-28
E.4.1. Обзор #
Этот выпуск основан на PostgreSQL 16.6 и Postgres Pro Standard 16.4.1. Все усовершенствования, унаследованные от PostgreSQL 16.6, перечислены в Замечаниях к выпуску PostgreSQL 16.6. Другие важные изменения и улучшения перечислены ниже:
- Добавлена возможность вместо - Appendформировать операцию- MergeAppend, которая позволяет исключить дополнительную сортировку, необходимую для гарантии сортировки данных. Теперь- MergeAppendформируется с указанием столбцов для сортировки. Новая возможность применяется только в том случае, если параметр enable_appendorpath имеет значение- ON.
- Добавлена возможность преобразования связанных подзапросов - INв соединения.
- Реализована возможность выгружать состояние отдельного обслуживающего процесса путём отправки сигнала выгрузки. 
- Изменён уровень ошибки для расчёта статистики по прерываниям очистки только на уровень - ERROR(- PGERROR). Расчёт прерываний очистки для уровня ошибок- PANICмог приводить к непредсказуемому поведению системы, а статистика в любом случае не могла быть рассчитана из-за сбоя сервера.
- Признана устаревшей возможность создания конструкций с использованием - JSON_EXISTS()с предложением- RETURNING. Этот синтаксис не поддерживается стандартом SQL/JSON, согласно которому предикат- JSON_EXISTS()должен возвращать только TRUE, FALSE или UNKNOWN.
- Устранена ошибка сегментации, которая могла возникнуть при выполнении команды - COPY TOпри использовании модуля online_analyze.
- Устранена ошибка, которая могла приводить к переполнению стека в сценариях с большим количеством подтранзакций. Теперь при обработке процесса фиксации транзакции вместо хвостовой рекурсии используется итерация. 
- Устранена утечка памяти, которая могла возникнуть, если в выводе команды - EXPLAINбыло более 64 столбцов.
- Устранена проблема, из-за которой команда - EXPLAIN ANALYZEотображала неверное количество вставленных и конфликтующих кортежей во время вставки строк с конфликтующими первичными ключами при использовании- ON CONFLICT DO NOTHING.
- Устранена проблема, которая могла замедлить выполнение запроса. Причина заключалась в выборе неоптимального индекса оптимизатором из-за отсутствия оценки его стоимости после удаления избыточных предложений с включённым (значение - ON) параметром enable_appendorpath.
- Добавлена поддержка архитектуры ARM для РЕД ОС МУРОМ 8. 
- Прекращена поддержка ОС Ubuntu 23.10 и добавлена поддержка ОС Ubuntu 24.10. 
- Обновлён модуль aqo. Включены следующие исправления и усовершенствования: - Реализован режим «песочницы»aqo, позволяющий работать в изолированной среде, не затрагивая основную базу знаний aqo. Этот режим можно включить как на ведущем, так и на резервном узле, установив для параметра aqo.sandbox значение - on.
- Улучшен поиск соседей в aqo ( - aqo.wide_search=- on) для одновременного использования данных от нескольких соседей. Также пересмотрено взаимодействие поиска с- aqo.min_neighbors_for_predicting, чтобы допустить поиск соседей для запросов, у которых число образцов данных меньше заданного в параметре значения. Ранее такие запросы не учитывались.
- Исправлена ошибка выхода за пределы массива в логике обновления «умного» тайм-аута операторов aqo, а также проблема с некорректной записью статистики в - aqo_query_statsпри переполнении массивов.
 
- Приложение mamonsu обновлено до версии 3.5.9, в которой улучшена производительность и исправлены некоторые ошибки. Основные изменения перечислены ниже: - Добавлена поддержка систем, в которых установлена версия setuptools выше 67.7.2. 
- Прекращено использование указания - user:groupс точками на этапе перед установкой RPM.
 
- Драйвер ODBC обновлён до версии 17.00.0002. 
- Расширение oracle_fdw обновлено до версии 2.7.0. 
- Модуль orafce обновлён до версии 4.13.5. 
- Расширение pg_filedump обновлено до версии 17.1, в которой была устранена проблема, приводившая к ошибке сегментации при обработке неполных страниц и сбою pg_filedump. 
- Утилита pg_integrity_check обновлена для отображения фактических значений контрольной суммы только с параметром - --verbose, если контрольные суммы различаются.
- Расширение pg_portal_modify обновлено до версии 0.3.4. 
- Обновлено расширение pg_proaudit. Включены следующие исправления и усовершенствования: - Добавлена регистрация событий безопасности, связанных с операциями с профилями: - CREATE PROFILE,- ALTER PROFILEи- DROP PROFILE.
- Изменено распределение событий безопасности, связанных с функциями и хранимыми процедурами, по группам событий безопасности: группа - ALL_DDLтеперь не включает события, связанные с функциями и хранимыми процедурами,- ALL_PROCвключает- CREATE,- ALTERи- DROP, а- ALL_DMLвключает- EXECUTE.
- Исправлена регистрация событий безопасности для секционированных таблиц. Теперь события - SELECT/UPDATE/INSERT/DELETE/TRUNCATEв секционированной таблице регистрируются, если правила регистрации подразумевают регистрацию соответствующих событий для этой таблицы. Ранее регистрировались только события для отдельных секций.
- Исправлена совместимость с пулом соединений. Ранее могли возникнуть проблемы при регистрации событий безопасности - AUTHENTICATEи- DISCONNECT.
 
- Приложение pg_probackup обновлено до версии 2.8.5, в которой улучшена производительность и исправлены некоторые ошибки: - Добавлена возможность вывода команды - versionв формате JSON с помощью- --format=- json.
- Добавлен параметр - --allдля команды- amcheck, который позволяет выполнить все проверки в одной команде.
- Добавлена поддержка параметра - includeв файле конфигурации. Содержимое файла, указанного в- include, добавляется в файл конфигурации вместо этого параметра.
- Добавлена возможность указывать конкретное количество потоков для выполнения резервного копирования и его последующей проверки, указав их в параметрах - --backup-threadsи- --validate-threadsсоответственно.
- Изменён приоритет значений - PGDATAи- BACKUP_PATH. Теперь приоритет имеют значения из параметров командной строки.
- Добавлена проверка файлов WAL для резервных копий, объединяемых командой - merge.
- Сообщение об ошибке, которое выдавалось, когда команда - validate, запущенная с параметром- --wal, обнаруживала архив в состоянии- DEGRADED, было заменено предупреждением, поскольку резервные копии в этом состоянии не влияют на корректность восстановления в целом.
- Устранена проблема, которая могла возникнуть при слишком длинной командной строке. 
- Устранена ошибка, которая могла возникнуть во время проверки или восстановления, если использовался механизм PITR из предыдущей линии времени. 
 
- Утилита pgpro_controldata обновлена до версии 17.1.0. 
- Расширение pgpro_stats обновлено до версии 1.8, в которой добавлена поддержка Postgres Pro 17. Основные изменения перечислены ниже: - Обновлены представления - pgpro_stats_statementsи- pgpro_stats_totals, чтобы включить новые поля, добавленные в модуль pg_stat_statements. Также были обновлены соответствующие функции.
- Упрощён доступ к представлениям и функциям. В частности, всем пользователям был предоставлен доступ к представлениям - pgpro_stats_archiver,- pgpro_stats_vacuum_database,- pgpro_stats_vacuum_tablesи- pgpro_stats_vacuum_indexes. Ранее для этих представлений требовалось явное предоставление прав доступа. Доступ к выполнению функции- pgpro_stats_trace_reset, которая ранее могла быть выполнена любым пользователем, теперь ограничен суперпользователями.
- Устранена избыточная проверка удержания блокировки при доступе к хеш-таблице фильтров трассировки сеансов. 
- Исправлена обработка параметра конфигурации - pgpro_stats.stats_temp_directory. Ранее после перезапуска сервера, необходимого для вступления в силу изменений значения этого параметра, могла возникнуть фатальная ошибка «pfree called with invalid pointer» (неверный указатель для функции pfree).
 
- Модуль pgpro_pwr обновлён до версии 4.7, в которой улучшена производительность и добавлены новые возможности. Основные изменения перечислены ниже: - Механизм промежуточных выборок для сбора относительно быстро меняющихся данных. 
- Новые таблицы отчётов, в частности касающиеся состояний сеансов. 
- Поддержка новых статистик Postgres Pro 17. 
- Возможность не сбрасывать статистику расширения по сбору статистики при получении выборки. 
- Изменение тип поля, отслеживающего идентификаторы транзакций в определённой таблице, с - xidна- text. Использование типа- xidранее могло привести к сбою pg_upgrade при обновлении с Postgres Pro Standard до Postgres Pro Enterprise.
 
- Модуль pg_repack обновлён до версии 1.5.1. 
- Расширение pg_wait_sampling обновлено для отслеживания идентификаторов подзапросов и операторов утилит. Также был добавлен параметр - pg_wait_sampling.sample_cpu, который позволяет указать режим обработки показаний, определяющий, следует ли выполнять обработку показаний процессов, использующих ЦП.
- Расширение PLV8 обновлено до версии 3.2.3. 
- Расширение PTRACK обновлено для предотвращения возможных проблем с резервными копиями PTRACK путём автоматического удаления файла - ptrack.mapпри отключении PTRACK.
- Расширение tds_fdw обновлено до версии 2.0.4. 
E.4.2. Миграция на версию 16.6.1 #
Если вы производите обновление выпуска Postgres Pro Standard, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
Версия ABI может измениться в корректирующем выпуске Postgres Pro. В таком случае при попытке запустить расширение возникает ошибка ABI mismatch (Несоответствие ABI), поэтому обязательно установите новую версию расширения, поставляемую с новым выпуском Postgres Pro, или перекомпилируйте стороннее расширение, чтобы использовать его с текущей версией Postgres Pro.
Если вы создаёте резервные копии с помощью pg_probackup и ранее обновили его до версии 2.8.0 или 2.8.1, обязательно обновите его до версии 2.8.2 или выше и сделайте полную резервную копию базы данных после обновления, поскольку резервные копии, созданные с использованием этих версий, могут быть повреждены. Чтобы проверить, повреждены ли резервные копии, созданные с помощью версий 2.8.0 или 2.8.1, можно использовать версию 2.8.2.
Для перехода с PostgreSQL или выпуска Postgres Pro Standard, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям в Замечаниях к выпуску Postgres Pro Standard 16.0.1.