E.5. Выпуск 17.9 #

Дата выпуска: 2026-02-26

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

E.5.1. Миграция на версию 17.9 #

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

Если вы обновляете сервер с более ранней версии, чем 17.6, обратитесь к Разделу E.8.

E.5.2. Изменения #

  • Устранение сбоя после воспроизведения записи WAL об усечении xid мультитранзакций, сгенерированной на более старом корректирующем выпуске (Хейкки Линнакангас) §

    Ошибочная логика предотвращения зацикливания идентификаторов мультитранзакций в предыдущих версиях приводила к сбою с ошибками «could not access status of transaction» (не удалось получить статус транзакции). Как правило, такое поведение наблюдалось, когда на резервном сервере на последнем корректирующем выпуске воспроизводились записи WAL с ведущего сервера, работающего на более старой версии.

  • Предотвращение вывода ошибочных сообщений о недопустимой кодировке при обработке данных TOAST функцией substring() (Ной Миш) § § §

    Исправление уязвимости CVE-2026-2006 было слишком агрессивным и могло приводить к выводу ошибочных сообщений о неполных символах даже при использовании допустимых символов.

  • Исправление вычисления набора внешних соединений, которые могут проставлять NULL, для результата подзапроса LATERAL UNION ALL (Ричард Гуо) §

    В результате этой ошибки могли пропускаться проверки NOT NULL из ложного убеждения, что они не требуется. Это приводило к неверным результатам запросов.

  • Корректировка вывода значений вспомогательных процессов функциями pg_stat_get_backend_wait_event() и pg_stat_get_backend_wait_event_type() (Хейкки Линнакангас) §

    Ранее для вспомогательных процессов эти функции возвращали значение NULL, что не соответствовало представлению pg_stat_activity.

  • Исправление приведения значения переменной составного типа к типу домена, возвращаемого функцией PL/pgSQL (Том Лейн) §

    Ранее если значение переменной было NULL, выводилась ошибка «cache lookup failed for type 0» (ошибка поиска в кеше для типа 0).

  • Устранение риска обращения по нулевому указателю функцией двоичного ввода модуля contrib/hstore (Микаэль Пакье) §

    Ранее происходил сбой функции получения модуля hstore, если во входных данных оказывались дублирующие ключи. Генерируемые значения модуля hstore не могут содержать дублирующие ключи, поэтому ранее ошибка не фиксировалась. Сбой могли вызвать вредоносные или повреждённые входные данные.

E.5. Release 17.9 #

Release date: 2026-02-26

This release contains a small number of fixes from 17.8. For information about new features in major release 17, see Section E.14.

E.5.1. Migration to Version 17.9 #

A dump/restore is not required for those running 17.X.

However, if you are upgrading from a version earlier than 17.6, see Section E.8.

E.5.2. Changes #

  • Fix failure after replaying a multixid truncation record from WAL that was generated by an older minor version (Heikki Linnakangas) §

    Erroneous logic for coping with the way that previous versions handled multixid wraparound led to replay failure, with messages like could not access status of transaction. A typical scenario in which this could occur is a standby server of the latest minor version consuming WAL from a primary server of an older version.

  • Avoid incorrect complaint of invalid encoding when substring() is applied to toasted data (Noah Misch) § § §

    The fix for CVE-2026-2006 was too aggressive and could raise an error about an incomplete character in cases that are actually valid.

  • Fix computation of the set of potentially-nulling outer joins for the output of a LATERAL UNION ALL subquery (Richard Guo) §

    This error could lead to skipping NOT NULL tests in the mistaken belief that they were unnecessary, resulting in wrong query output.

  • Fix pg_stat_get_backend_wait_event() and pg_stat_get_backend_wait_event_type() to report values for auxiliary processes (Heikki Linnakangas) §

    Previously these functions returned NULL for auxiliary processes, but that's inconsistent with the pg_stat_activity view.

  • Fix casting a composite-type variable to a domain type when returning its value from a PL/pgSQL function (Tom Lane) §

    If the variable's value is NULL, a cache lookup failed for type 0 error resulted.

  • Fix potential null pointer dereference in contrib/hstore's binary input function (Michael Paquier) §

    hstore's receive function crashed on input containing duplicate keys. hstore values generated by Postgres would never contain duplicate keys, so this mistake has gone unnoticed. The crash could be provoked by malicious or corrupted data.

FAQ