E.27. Выпуск 13.20

Дата выпуска: 2025-02-20

В этот выпуск вошло несколько исправлений, внесённых после версии 13.19. За информацией о нововведениях версии 13 обратитесь к Разделу E.47.

Сообщество PostgreSQL прекратит выпуск обновлений для версии 13.X в ноябре 2025 г. Поэтому пользователям не следует медлить с переходом на более новую основную версию.

E.27.1. Миграция на версию 13.20

Если используется версия 13.X, выгрузка/восстановление базы не требуется.

Если вы обновляете сервер с более ранней версии, чем 13.17, см. также Раздел E.30.

E.27.2. Изменения

  • Улучшение поведения функций с обработкой экранирования libpq (Андрес Фройнд, Том Лейн) § § §

    Изменения, внесённые для CVE-2025-1094, имели одно серьёзное упущение: функции PQescapeLiteral() и PQescapeIdentifier() не учитывали параметр длины строк и вместо этого всегда выполняли чтение до завершающего нулевого символа входной строки. Это приводило к включению нежелательного текста в вывод при усечении строки вызывающим кодом через параметр длины, а в некоторых особенно неудачных случаях могло вызывать сбои из-за считывания за пределами памяти.

    Кроме того, все функции с обработкой экранирования были изменены так, чтобы при обнаружении недопустимой кодировки недопустимая последовательность заменялась только на первый байт предполагаемого символа, а не на весь символ. Это снижает риск возникновения проблем, если вызывающее приложение выполняет дополнительную обработку строки с экранированием.

  • Устранение сбоя, связанного с триггерами секционированных таблиц, использующими переходные таблицы (Кётаро Хоригути) §

    При наличии как триггера AFTER UPDATE, так и AFTER DELETE необходимость в переходных таблицах определялась неправильно, что приводило к сбою во время изменений, затрагивающих разные секции.