E.44. Выпуск 9.5.1

Дата выпуска: 2016-02-11

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

E.44.1. Миграция на версию 9.5.1

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

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

  • Исправлены проблемы с бесконечными циклами и переполнениями буфера в регулярных выражениях (Том Лейн)

    С очень большими диапазонами символов в некоторых случаях можно было добиться бесконечного цикла, а в других — переполнения памяти. (CVE-2016-0773)

  • Исправлено упущение, из-за которого в редких случаях при соединениях по хешу пропускалось соединение некоторых кортежей внутреннего отношения (Томаш Вондра, Том Лейн)

  • Предотвращено проталкивание предложений HAVING в подзапросы, когда применяются наборы группирования (Эндрю Гирт)

  • Исправление пересборки арбитра ON CONFLICT в предложении WHERE (Питер Гейган)

  • Спецкоды %h и %r в log_line_prefix стали работать в сообщениях, выдаваемых в режиме log_connections (Том Лейн)

    Ранее %h/%r начинали работать только после того, как новый сеанс выдавал сообщение «connection received» (соединение получено); теперь они работают и для этого сообщения.

  • Ликвидация утечки маркера в процессе аутентификации SSPI (Кристиан Ульрих)

  • Исправлена команда \det в psql, чтобы она воспринимала шаблон, передаваемый ей в аргументе, так же, как другие команды \d с шаблонами, которые могут дополняться схемами (Рис Харт)

  • Программа pg_ctl в Windows должна выбирать, куда направлять вывод, проверяя состояние службы, а не то, что устройство стандартного вывода является терминалом (Микаэль Пакье)

  • Исправление разнообразных ошибок в исключительных случаях при обработке объектов-членов расширений в pg_dump (Том Лейн)

  • Исправлено некорректное заключение в кавычки имён ограничений доменов в pg_dump (Элвис Пранскевичус)

  • Теперь pg_dump помечает триггеры представления, чтобы они обрабатывались после правил, во избежание ошибок при параллельном pg_restore (Том Лейн)

  • Внедрение в pgbench защиты от переполнения в исключительных случаях при вычислении заданных в скрипте операторов деления или взятия остатка (Фабьен Коэльо, Микаэль Пакье)

  • Подавление бесполезного предупреждения при подключении pg_receivexlog к серверу версии до 9.4 (Марко Ненчарини)

  • Решение проблем с выгрузкой/перезагрузкой данных при одновременном использовании plpython2 и plpython3 (Том Лейн)

    В принципе можно использовать обе версии PL/Python в одной базе данных, но не в одном сеансе (так как две версии libpython нельзя безопасно использовать одновременно). Однако и pg_restore, и pg_upgrade в своей работе нарушают это ограничение одного сеанса. В качестве обходного решения изменено время проверки версий.

  • Исправление регрессионных тестов PL/Python для совместимости с Python 3.5 (Питер Эйзентраут)

  • Недопущение установки определённых параметров PL/Java непривилегированными пользователями (Ной Миш)

    Это изменение ликвидирует угрозу, связанную с уязвимостью в PL/Java (CVE-2016-0766), исправленной в PL/Java (эти параметры теперь доступны только суперпользователю). Чтобы ликвидировать угрозу безопасности для тех серверов PostgreSQL, которые обновляются чаще, чем PL/Java, это изменение внесено также в код ядра сервера.

  • Исправление заголовочных файлов, поставляемых с ecpg: в директиву препроцессора не должен включаться комментарий, продолжающийся в следующей строке (Михаэль Мескес)

    Такой комментарий не принимается препроцессором ecpg. Пока не вполне ясно, следует ли скорректировать сам ecpg.

  • Исправление в hstore_to_json_loose() проверки, можно ли преобразовать значение hstore в число JSON (Том Лейн)

    Ранее эту функцию можно было ввести в заблуждение не алфавитно-цифровыми замыкающими символами, что приводило к формированию синтаксически некорректного JSON.

  • В contrib/postgres_fdw исправлены ошибки, вызванные использованием tableoid в командах, модифицирующих данные (Эцуро Фудзита, Роберт Хаас)

  • Исправлено некорректно введённое ограничение NAMEDATALEN 256 байтами (Роберт Хаас, Том Лейн)

  • Улучшение воспроизводимости сборки путём обеспечения фиксированного порядка имён файлов, передаваемых компоновщику (Кристоф Берг)

    Это устраняет возможные двоичные различия создаваемых исполняемых файлов от сборки к сборке.

  • Включение dynloader.h в список устанавливаемых заголовочных файлов при сборке с MSVC (Брюс Момджян, Микаэль Пакье)

  • Обновление данных часовых поясов до версии tzdata 2016a, включающее изменения правил перехода на летнее время на Каймановых островах, в Метлакалте и Забайкальском крае, плюс корректировку исторических данных для Пакистана.