E.54. Выпуск 11.1
Дата выпуска: 2018-11-08
В этот выпуск вошли различные исправления, внесённые после версии 11.0. За информацией о нововведениях версии 11 обратитесь к Разделу E.55.
E.54.1. Миграция на версию 11.1
Если используется версия 11.X, выгрузка/восстановление базы не требуется.
Однако если вы используете расширение pg_stat_statements, прочитайте запись о нём в списке изменений.
E.54.2. Изменения
- Корректное заключение в кавычки имён переходных таблиц в командах - CREATE TRIGGER ... REFERENCING, которые выдаёт pg_dump (Том Лейн)- Отсутствием кавычек мог воспользоваться непривилегированный пользователь с целью получения прав суперпользователя при последующем восстановлении выгруженных данных или выполнении pg_upgrade. (CVE-2018-16850) 
- Размещение создаваемого дочернего индекса в табличном пространстве, выбранном для секционированного индекса (Альваро Эррера) - Ранее дочерние индексы всегда создавались в табличном пространстве по умолчанию. 
- Исправление обработки NULL при выполнении распараллеливаемых многопакетных левых соединений по хешу (Эндрю Гирт, Томас Манро) - Ранее строки внешнего отношения, содержащие значения NULL в ключе хеширования, не попадали в результат соединения. 
- Исправление некорректной обработки выражения, содержащего приведение типа к массиву, внутри предложения - CASE, в котором проверяемое выражение является константой (Том Лейн)
- Исправление некорректного расширения кортежей, не содержащих недавно добавленных столбцов (Эндрю Дунстан, Амит Ланготе) - В результате этого дефекта наблюдался крах сервера в коде триггера таблицы, в которую добавлялись столбцы; однако были возможны и другие проявления. 
- Исправление ошибок в обработке аргументов с именами или значениями по умолчанию, передаваемых в списке аргументов команде - CALL(Том Лейн, Павел Стехуле)
- Исправление проверки строгости для агрегатов со столбцами - ORDER BY(Эндрю Гирт, Андрес Фройнд)- Логика проверки строгости функции ошибочно игнорировала строки, в которых значения столбцов - ORDER BYбыли равны NULL.
- Отключение оптимизации - recheck_on_update(Том Лейн)- Эта появившаяся в 11 версии функциональность оказалась не готовой к публичному выступлению. Поэтому решено было её убрать, пока она не будет исправлена. 
- Недопущение создания секции в триггере, присоединённом к родительской таблице (Амит Ланготе) - В идеале такое создание можно было бы разрешить, но в данный момент оно блокируется во избежание сбоев. 
- Устранение проблем с применением - ON COMMIT DELETE ROWSк секционированной временной таблице (Амит Ланготе)
- Исправление проверок классов символов для корректной поддержки в Windows символов Unicode выше U+FFFF (Том Лейн, Кэндзи Уно) - Эта ошибка проявлялась в операциях полнотекстового поиска, а также в работе модулей - contrib/ltreeи- contrib/pg_trgm.
- Обеспечение обработки сервером уже полученных прерываний - NOTIFYи- SIGTERMдо начала ожидания данных от клиента (Джефф Джейнс, Том Лейн)
- Ликвидация утечки памяти при сканировании индекса SP-GiST (Том Лейн) - Сколько-нибудь значительное проявление этой утечки наблюдалось, только когда для ограничения-исключения, использующего SP-GiST, в индекс поступало много записей. 
- Предотвращение запуска сервера со значением - wal_level, недостаточно большим для поддержки существующего слота репликации (Андрес Фройнд)
- Исправление кода psql, а также примеров в документации, чтобы функция - PQconsumeInput()вызывалась перед- PQnotifies()(Том Лейн)- Тем самым решена проблема, когда psql не выдавал полученное сообщение - NOTIFYдо следующей команды.
- Исправление в pg_verify_checksums выбора файлов для проверки контрольных сумм (Микаэль Пакье) - В некоторых случаях несоответствие контрольной суммы выявлялось в тех файлах, в которых она не должна проверяться. 
- В - contrib/pg_stat_statementsроли- pg_read_all_statsзапрещено выполнение- pg_stat_statements_reset()(Харибабу Комми)- Роли - pg_read_all_statsдолжно позволяться только чтение статистики, но не её изменение, поэтому разрешение на выполнение этой функции ей было дано некорректно.- Чтобы это изменение вступило в силу, выполните - ALTER EXTENSION pg_stat_statements UPDATEв каждой базе данных, где установлено расширение- pg_stat_statements. (Для баз данных, изначально созданных в версии 11.0, это не должно требоваться, но базы, обновлённые с предыдущей версии, могут содержать старую версию- pg_stat_statements. Если модуль был обновлён ранее, команда- UPDATEне сделает ничего.)
- Переход в названиях функций поддержки red-black tree (красно-чёрного дерева) от префикса - rbк- rbt(Том Лейн)- Это позволяет избежать конфликта имён с функциями Ruby, нарушающего работу PL/Ruby. Хочется надеяться, что в результате не пострадают другие расширения. 
- Устранение проблем при сборке в macOS 10.14 (Mojave) (Том Лейн) - Усовершенствование скрипта configure, чтобы в - CPPFLAGSдобавлялся ключ- -isysroot; без этого PL/Perl и PL/Tcl нельзя сконфигурировать или собрать в macOS 10.14. Значение sysroot можно переопределить во время конфигурирования или сборки, установив переменную- PG_SYSROOTв аргументах configure или make.- Теперь рекомендуется, чтобы для связанных с Perl расширений во флагах компилятора указывалось - $(perl_includespec), а не- -I$(perl_archlibexp)/CORE. Второй вариант по-прежнему будет работать на большинстве платформ, но не в последних macOS.- Также теперь не требуется указывать вручную ключ - --with-tclconfig, чтобы собрать PL/Tcl в последних версиях macOS.
- Исправление скриптов сборки с MSVC и регрессионного тестирования для работы с последними версиями Perl (Эндрю Дунстан) - Это изменение вызвано тем, что Perl теперь по умолчанию не включает текущий каталог в свой путь поиска. 
- Реализована возможность запускать регрессионные тесты в Windows с учётной записью администратора (Эндрю Дунстан) - Чтобы это было безопасно, pg_regress теперь лишает себя расширенных прав при запуске. 
- Обновление данных часовых поясов до версии tzdata 2018g, включающее изменения правил перехода на летнее время в России (Волгограде), Чили, Марокко и на Фиджи, а также корректировку исторических данных для Китая, Гавайев, Японии, Макао и Северной Кореи.