Postgres Pro Standard 10.7.1: примечания к релизу

Обзор

Этот выпуск основан на PostgreSQL 10.7 и Postgres Pro Standard 10.6.1. Все усовершенствования, унаследованные от PostgreSQL 10.7, перечислены в Замечаниях к выпуску PostgreSQL 10.7. Другие важные изменения и улучшения перечислены ниже:

  • Исправлена ошибка при обработке запросов с множеством предложений OR, приводившая к дублированию результатов и нарушению порядка сортировки.

  • Устранён дефект, провоцирующий сбой сервера при использовании нестрогих агрегатных функций.

  • Изменена модель распространения утилиты pg_probackup:

    • В Linux программа pg_probackup теперь предоставляется в пакете pg-probackup-std-10. В ALT Linux и ОС на базе Debian для обновления Postgres Pro Standard с версии 10.6.2 или ниже выполните apt dist-upgrade (или apt-get dist-upgrade), чтобы корректно обработались все новые зависимости пакетов.

    • Для Windows теперь предоставляется отдельный инсталлятор pg_probackup. Прежде чем устанавливать pg_probackup, вы должны установить основные компоненты текущей версии Postgres Pro.

  • В интерактивном инсталляторе Postgres Pro для Windows появились новые возможности. Теперь вы можете:

    • Выбрать в качестве провайдера правил сортировки по умолчанию icu или libc. Ранее в отсутствие такого выбора в Postgres Pro Standard всегда выбирался провайдер icu.

    • Выбрать пользователя, который будет запускать службу Postgres Pro. По умолчанию служба Postgres Pro запускается от имени пользователя NT AUTHORITY\NetworkService.

  • В SUSE Linux Enterprise Server и системах на базе RHEL несколько утилит перемещены в другие пакеты для согласованности с другими дистрибутивами Linux: pg_recievewal и pg_recvlogical теперь содержатся в пакете postgrespro-std-10-client, а pg_rewind, pg_waldump и pg_upgrade — в пакете postgrespro-std-10-server.

  • Интегрировано исправление, позволяющее избежать условий гонки в процессе dsm_attach() при повторном использовании указателей DSM; в ванильном PostgreSQL это исправление запланировано только в будущих выпусках. Ожидается, что в результате разрешатся проблемы, при которых сервер выдаёт следующее сообщение об ошибке: ERROR: dsa_area could not attach to segment (ОШИБКА: dsa_area не может получить доступ к сегменту).

  • Исправлена работа pg_upgrade с ограничениями доменов, зависящими от правил сортировки. Такие ограничения теперь проверяются в процессе обновления, тогда как в предыдущих версиях Postgres Pro они всегда помечались в новом кластере как непроверенные.

  • Исправлен скрипт 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.44.)

Миграция на версию 10.7.1

Если вы производите обновление выпуска Postgres Pro Standard, базирующегося на той же основной версии PostgreSQL, достаточно просто установить новый выпуск в текущий каталог инсталляции.

Так как в Postgres Pro Standard 10.7.1 была изменена модель распространения pg_probackup, при переходе с предыдущей версии в системе на базе Debian и ALT Linux выполните apt dist-upgrade (или apt-get dist-upgrade), чтобы корректно обработались все новые зависимости. В Windows для завершения обновления вам нужно будет запустить отдельный инсталлятор pg_probackup.

При обновлении с версии 10.3.2 и ниже вы должны выполнить команду REINDEX для индексов, в которых используются типы mchar или mvarchar. Кроме этого, если вы использовали pg_repack в системах на базе Debian, при переходе на эту версию вы должны будете переустановить соответствующий пакет вручную, так как он был переименован в pg-repack-std-10.

Для перехода с PostgreSQL или выпуска Postgres Pro Standard, базирующегося на предыдущей основной версии PostgreSQL, обратитесь к инструкциям в Замечаниях к выпуску Postgres Pro Standard 10.1.1. Если вы выбираете вариант с выгрузкой/восстановлением данных, обязательно используйте параметр --add-collprovider, чтобы в восстановленной базе данных оказался корректный провайдер правил сортировки.