Дата выпуска: 2019-03-20
Этот выпуск основан на PostgreSQL 9.6.12 и Postgres Pro Enterprise 9.6.12.1. Все усовершенствования, унаследованные от PostgreSQL 9.6.12, описаны в Замечаниях к выпуску PostgreSQL 9.6.12. По сравнению с Postgres Pro Enterprise 9.6.11.1 эта версия также содержит следующие изменения:
Изменён метод аутентификации по умолчанию для инсталляций в системах SUSE Linux Enterprise Server, а также Red Hat Enterprise Linux 7 и производных от них. Теперь локальные подключения используют метод peer, а сетевые — md5. За подробным описанием поддерживаемых методов аутентификации обратитесь к Разделу 20.3.
Интегрировано исправление, позволяющее избежать условий гонки в процессе dsm_attach() при повторном использовании указателей DSM; в ванильном PostgreSQL это исправление запланировано только в будущих выпусках. Ожидается, что в результате разрешатся проблемы, при которых сервер выдаёт следующее сообщение об ошибке: ERROR: dsa_area could not attach to segment (ОШИБКА: dsa_area не может получить доступ к сегменту).
Изменена модель распространения утилиты pg_probackup:
В Linux программа pg_probackup теперь предоставляется в пакете pg-probackup-ent-9.6. В ALT Linux и ОС на базе Debian для обновления Postgres Pro Enterprise с версии 9.6.11.1 или ниже выполните apt dist-upgrade (или apt-get dist-upgrade), чтобы корректно обработались все новые зависимости пакетов.
Для Windows теперь предоставляется отдельный инсталлятор pg_probackup. Прежде чем устанавливать pg_probackup, вы должны установить основные компоненты текущей версии Postgres Pro.
Началось распространение pg_hint_plan в виде индивидуального дополнения:
Для Linux pg_hint_plan теперь предоставляется в пакете pg-hint-plan-ent-9.6.
Для Windows pg_hint_plan теперь устанавливается отдельным инсталлятором, который нужно запускать после установки ключевых компонентов текущей версии Postgres Pro.
В интерактивном инсталляторе Postgres Pro для Windows появились новые возможности. Теперь вы можете:
Выбрать в качестве провайдера правил сортировки по умолчанию icu или libc. Ранее в отсутствие такого выбора в Postgres Pro Enterprise всегда выбирался провайдер icu.
Выбрать пользователя, который будет запускать службу Postgres Pro. По умолчанию служба Postgres Pro запускается от имени пользователя NT AUTHORITY\NetworkService.
В реализацию автономных транзакций внесено множество усовершенствований:
Реализована поддержка общих переменных PL/pgSQL между родительским блоком и блоком автономной транзакции.
Синтаксис SQL стал более согласованным: ключевое слово AUTONOMOUS теперь можно использовать с транзакционными операторами START, COMMIT/END и ROLLBACK/ABORT. Ранее это слово допускалось только с BEGIN.
Исправлены разнообразные ошибки, в результате чего автономные транзакции стали работать стабильнее.
Реализованы периодические проверки соединения сервера с клиентом, что позволяет оперативно обнаруживать разрывы соединения и освобождать ресурсы сервера при отключениях клиентов. По умолчанию эти проверки выполняются каждую секунду. Изменить эту периодичность позволяет параметр конфигурации client_connection_check_interval.
В расширении amcheck ликвидированы ложные сигналы о нарушении структуры индексов, которые выражались в сообщениях: ERROR: heap tuple lacks matching index tuple within index (ОШИБКА: для кортежа кучи отсутствует соответствующий кортеж в индексе).
Устранено снижение производительности при сканировании только индекса, когда индекс построен по множеству полей.
Прекращена поддержка систем Альт Линукс СПТ 6.0 и Windows 7 SP1.
Утилита pg_probackup теперь корректно отслеживает в режиме PTRACK изменения в индексах rum и bloom.
Модуль pg_pathman обновлён до версии 1.5.5. Эта версия по сравнению с 1.5.2, поставляемой в предыдущем выпуске Postgres Pro, включает следующие усовершенствования:
Усовершенствованы скрипты обновления pg_pathman во избежание ошибок при миграции с основной версии 1.4 на 1.5 из-за различного числа атрибутов pg_config в этих версиях.
Повышена стабильность pg_pathman:
Попытки вызова функций pg_pathman при отключённом расширении теперь не будут приводить к сбоям сервера; вместо этого будут выдаваться ошибки.
К одной и той же таблице могут быть применены различные стратегии секционирования.
Модуль pg_variables обновлён до версии 1.2. По сравнению с версией, поставляемой в предыдущем выпуске Postgres Pro, она включает следующие усовершенствования:
Добавлена поддержка переменных-массивов.
Повышена стабильность модуля.
Исправлено удаление пустых пакетов. Теперь пустой пакет будет удаляться только после завершения транзакции, в которой он был опустошён.
(См. Раздел F.49.)
Процедура установки зависит от версии вашей текущей инсталляции.
Для перехода с ванильной версии PostgreSQL 9.6.x или Postgres Pro Standard сначала установите последний корректирующий выпуск для этой версии, а затем выполните выгрузку/восстановление данных, используя pg_dumpall.
Для обновления с версии Postgres Pro Enterprise, основанной на этом же основном выпуске PostgreSQL, выгрузка/восстановление данных не требуется. Обычно достаточно установить новую версию в каталог предыдущей инсталляции. После установки новых исполняемых файлов автоматически запускается скрипт pgpro_upgrade, который проверяет, требуется ли дополнительная настройка, и завершает обновление.
Так как в Postgres Pro Enterprise 9.6.12.1 была изменена модель распространения pg_probackup, при переходе с предыдущей версии в ALT Linux или системе на базе Debian выполните apt dist-upgrade (или apt-get dist-upgrade), чтобы корректно обработались все новые зависимости. В Windows для завершения обновления вам нужно будет запустить отдельный инсталлятор pg_probackup.
При обновлении с версии 9.6.9.1 или ниже вы должны выполнить команду REINDEX для индексов GiST и SP-GiST.
При обновлении с версии 9.6.8.2 или ниже вы должны выполнить команду REINDEX для индексов, в которых используются типы mchar или mvarchar.
При обновлении с версии 9.6.1.2 в дистрибутивах Linux с системой пакетов RPM вы должны переименовать каталог данных pgsql в pgproee до запуска скрипта pgpro_upgrade.
В некоторых дистрибутивах Linux вам может быть предложено запустить pgpro_upgrade вручную. В этом случае вы должны остановить службу postgres. Этот скрипт должен запускать пользователь-владелец базы данных (обычно postgres), а переменная окружения PGDATA должна указывать на каталог, где располагается база данных. При попытке запустить pgpro_upgrade от имени root произойдёт ошибка. Данное действие не требуется выполнять при обновлении с версии 9.6.4.1 или выше.