E.23. Postgres Pro Enterprise 9.6.6.3

Дата выпуска: 2018-01-17

E.23.1. Обзор

Этот выпуск основан на Postgres Pro Enterprise 9.6.6.2. В число ключевых усовершенствований по сравнению с Postgres Pro Enterprise 9.6.6.2 входят:

  • Улучшено расширение multimaster. В частности, внесены следующие изменения:

    • Исправлена логика завершения подготовленных транзакций после сбоя узла.

    • Устранены ошибки, возникавшие при выборе транзакций, применяемых в процессе автоматического восстановления.

    • Теперь операции TRUNCATE выполняются без глобальных блокировок на уровне кластера.

    • Ускорено переключение состояния узла.

    • Решение рефери теперь сохраняется после перезагрузки узлов, выигравших в голосовании рефери.

  • Модуль pg_pathman обновлён до версии 1.4.9. Полный список изменений можно найти на вики-странице pg_pathman.

  • Внесено несколько исправлений в реализацию 64-битных идентификаторов транзакций.

  • Улучшена поддержка k-NN:

    • Исправлено выполнение запросов следующего типа с индексом-B-дерево:

      SELECT * FROM tab WHERE col IN (1,2,3) ORDER BY col <-> 4
    • Добавлены межтиповые операторы определения расстояний, такие как int2 <-> int4, float4 <-> float8, date <-> timestamp и т. д.

    • Добавлен метод ammatchorderbyop.

    • Добавлена возможность перепроверки расстояний для индексов SP-GiST. За подробностями обратитесь к описанию функции leaf_consistent в Разделе 60.3.

  • Реализация индексов RUM обновлена до версии 1.2 (см. Раздел F.55.)

    • Добавлена поддержка типа anyarray через классы операторов rum_anyarray_ops и rum_anyarray_addon_ops.

  • Утилита pg_probackup обновлена до версии 2.0.14.

    • Исправлено поведение ptrack и резервного копирования страниц в условиях гонки.

    • Исправлено прерывание параллельного резервного копирования ptrack.

    • Добавлено новое состояние резервного копирование (ORPHAN), указывающее, что одна из предыдущих резервных копий испорчена.

E.23.2. Миграция на версию 9.6.6.3

Процедура установки зависит от версии вашей текущей инсталляции.

Для обновления с версии Postgres Pro Enterprise, основанной на этом же основном выпуске PostgreSQL, выгрузка/восстановление данных не требуется. Но вместо pg_upgrade вы должны использовать скрипт pgpro_upgrade, входящий в состав этого дистрибутивного набора. Этот скрипт обновляет метаданные как требуется в связи с изменением номера каталога, произошедшим в Postgres Pro Enterprise 9.6.4.1, а также переименованием функции pgpro_build в pgpro_source_id. Если вы обновляете инсталляцию Postgres Pro Enterprise, используя бинарный пакет, скрипт pgpro_upgrade запускается автоматически либо вам предлагается запустить его вручную.

Важно

Если вы запускаете pgpro_upgrade вручную, вы должны остановить службу postgres. Этот скрипт должен запускать пользователь-владелец базы данных (обычно postgres), а переменная окружения PGDATA должна указывать на каталог, где располагается база данных. При попытке запустить pgpro_upgrade от имени root произойдёт ошибка.

При обновлении с версии 9.6.2.1 и ниже вы должны перестроить индексы GiST, построенные по столбцам типа intarray.

Примечание

В дистрибутивах Linux с системой пакетов RPM при обновлении с версии 9.6.1.2 или более ранней вы должны переименовать каталог данных pgsql в pgproee до запуска скрипта pgpro_upgrade script.

Для перехода с ванильной версии PostgreSQL 9.6.x или Postgres Pro сначала установите последний корректирующий выпуск для этой версии, а затем выполните выгрузку/восстановление данных, используя pg_dumpall.