E.22. Выпуск 11.1
Дата выпуска: 2018-11-08
В этот выпуск вошли различные исправления, внесённые после версии 11.0. За информацией о нововведениях версии 11 обратитесь к Разделу E.23.
E.22.1. Миграция на версию 11.1
Если используется версия 11.X, выгрузка/восстановление базы не требуется.
Однако если вы используете расширение pg_stat_statements
, прочитайте запись о нём в списке изменений.
E.22.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, включающее изменения правил перехода на летнее время в России (Волгограде), Чили, Марокко и на Фиджи, а также корректировку исторических данных для Китая, Гавайев, Японии, Макао и Северной Кореи.