E.23. Postgres Pro Enterprise 10.7.1
Дата выпуска: 2019-03-26
E.23.1. Обзор
Этот выпуск основан на PostgreSQL 10.7 и Postgres Pro Enterprise 10.6.2. Все усовершенствования, унаследованные от PostgreSQL 10.7, перечислены в Замечаниях к выпуску PostgreSQL 10.7. Другие важные изменения и улучшения перечислены ниже:
- Устранены проблемы, которые могли возникать при использовании недавно созданных индексов GIN, GiST и SP-GiST. Ранее метастраница таких индексов не копировалась на ведомый сервер в ходе операций - CREATE INDEXили- REINDEX, в результате чего возникала ошибка, если ведомый сервер успевал обратиться к индексу раньше, чем в метаданных происходили какие-либо изменения.
- Исправлена ошибка при обработке запросов с множеством предложений - OR, приводившая к дублированию результатов и нарушению порядка сортировки.
- Устранён дефект, провоцирующий сбой сервера при использовании нестрогих агрегатных функций. 
- В реализацию автономных транзакций внесено множество усовершенствований: - Синтаксис SQL стал более согласованным: ключевое слово - AUTONOMOUSтеперь можно использовать с транзакционными операторами- START,- COMMIT/- ENDи- ROLLBACK/- ABORT. Ранее это слово допускалось только с- BEGIN.
- Исправлены разнообразные ошибки, в результате чего автономные транзакции стали работать стабильнее. 
 
- Изменена модель распространения утилиты pg_probackup: - В Linux программа pg_probackup теперь предоставляется в пакете - pg-probackup-ent-10. В Альт Линукс и ОС на базе Debian для обновления Postgres Pro Enterprise с версии 10.6.2 или ниже выполните- apt dist-upgrade(или- apt-get dist-upgrade), чтобы корректно обработались все новые зависимости пакетов.
- Для Windows теперь предоставляется отдельный инсталлятор pg_probackup. Прежде чем устанавливать pg_probackup, вы должны установить основные компоненты текущей версии Postgres Pro. 
 
- В интерактивном инсталляторе Postgres Pro для Windows появились новые возможности. Теперь вы можете: - Выбрать в качестве провайдера основного правила сортировки - icuили- libc. Ранее в отсутствие такого выбора в Postgres Pro Enterprise всегда выбирался провайдер- icu.
- Выбрать пользователя, который будет запускать службу Postgres Pro. По умолчанию служба Postgres Pro запускается от имени пользователя - NT AUTHORITY\NetworkService.
 
- Началось распространение pg_hint_plan в виде индивидуального дополнения: - Для Linux pg_hint_plan теперь предоставляется в пакете - pg-hint-plan-ent-10.
- Для Windows pg_hint_plan теперь устанавливается отдельным инсталлятором, который нужно запускать после установки ключевых компонентов текущей версии Postgres Pro. 
 
- Исправлена ошибка в модуле pg_hint_plan, которая могла вызвать сбой сервера при применении - SeqScanдля принудительного использования последовательного сканирования вместо параллельного сканирования индекса.
- В SUSE Linux Enterprise Server и системах на базе RHEL несколько утилит перемещены в другие пакеты для согласованности с другими дистрибутивами Linux: pg_receivewal и pg_recvlogical теперь содержатся в пакете - postgrespro-ent-10-client, а pg_rewind, pg_waldump и pg_upgrade — в пакете- postgrespro-ent-10-server.
- Интегрировано исправление, позволяющее избежать условий гонки в процессе - dsm_attach()при повторном использовании указателей DSM; в ванильном PostgreSQL это исправление запланировано только в будущих выпусках. Ожидается, что в результате разрешатся проблемы, при которых сервер выдаёт следующее сообщение об ошибке:- ERROR: dsa_area could not attach to segment(ОШИБКА: dsa_area не может получить доступ к сегменту).
- Исправлена работа pg_upgrade с ограничениями доменов, зависящими от правил сортировки. Такие ограничения теперь проверяются в процессе обновления, тогда как в предыдущих версиях Postgres Pro они всегда помечались в новом кластере как непроверенные. 
- Налажена работа pg_dump и pg_dumpall с базами данных Postgres Pro Standard. 
- Исправлен скрипт pg-setup; теперь с ключом - -Dон позволяет инициализировать кластер в нестандартном расположении.
- Утилита pg_probackup теперь корректно отслеживает в режиме - PTRACKизменения в индексах- rumи- bloom.
- Устранено снижение производительности при сканировании только индекса, когда индекс построен по множеству полей. 
- Прекращена поддержка систем Альт Линукс СПТ 6.0 и Windows 7 SP1. 
- Модуль - 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:- Добавлена поддержка переменных-массивов. 
- Повышена стабильность модуля. 
- Исправлено удаление пустых пакетов. Теперь пустой пакет будет удаляться только после завершения транзакции, в которой он был опустошён. 
 - (См. Раздел F.50.) 
E.23.2. Миграция на версию 10.7.1
Если вы производите обновление выпуска Postgres Pro Enterprise, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.
При обновлении с версии 10.6.2 и ниже вы должны выполнить команду REINDEX для индексов GIN, GiST и SP-GiST, чтобы устранить дефекты, которые могли возникнуть в старых версиях при репликации. Кроме того, следует сделать новые резервные копии баз данных, в которых были такие индексы.
При обновлении с версии 10.3.3 и ниже вы должны выполнить команду REINDEX для индексов GiST, построенных по столбцам типа intarray, а также для индексов, в которых используются типы mchar или mvarchar.
Для перехода с PostgreSQL, а также с выпуска Postgres Pro Standard или Postgres Pro Enterprise, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям по миграции на версию 10. Если вы выбираете вариант с выгрузкой/восстановлением данных, обязательно используйте параметр --add-collprovider, чтобы в восстановленной базе данных оказался корректный провайдер основного правила сортировки.