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