E.31. Postgres Pro Enterprise 9.6.2.1

Дата выпуска: 2017-03-24

E.31.1. Обзор

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

  • Добавлено расширение multimaster.

    Это расширение позволяет вам организовывать кластеры без разделения ресурсов с несколькими ведущими узлами, производящими синхронную репликацию. Такие кластеры обеспечивают расширяемость OLTP для читающих транзакций, отказоустойчивость и автоматическое восстановление узлов, а также позволяет обновлять Postgres Pro Enterprise «на ходу». (См. Раздел F.31.)

  • Добавлен алгоритм смены серверов для подключений libpq.

  • Добавлено расширение aqo для адаптивной оптимизации запросов.

    Собирая и обрабатывая статистику выполнения запросов, aqo улучшает оценку количества строк, что может привести к ускорению последующих запросов. (См. Раздел F.2.)

  • Реализован декларативный синтаксис секционирования.

    Расширение pg_pathman теперь позволяет осуществлять секционирование по диапазонам и по хешу в составе запроса CREATE TABLE. Также возможно управлять секциями в различных формах команды ALTER TABLE. (См. Подраздел F.39.2.6.)

  • Добавлена служба мониторинга mamonsu, исполненная в виде агента Zabbix.

    Используя mamonsu, вы можете отслеживать набор метрик операционной системы и PostgreSQL, а также визуализировать собранные показатели в наглядных графиках. При необходимости вы можете расширить mamonsu, добавив в него свои собственные модули. (См. mamonsu.)

  • Добавлено расширение pg_wait_sampling для периодического сбора статистики по событиям ожидания.

    Воспользовавшись этим расширением, вы сможете понять характер активности сервера, в том числе увидеть текущие события ожидания по всем обычным и фоновым рабочим процессам. (См. Раздел F.51.)

  • В программе pg_xlogdump добавлена поддержка вывода времени.

  • В pgpro_scheduler добавлена поддержка одноразовых заданий.

    Теперь вы можете назначать задания для немедленного или отложенного однократного выполнения одновременно с обычными планируемыми заданиями. (См. pgpro_scheduler.)

  • Менеджер резервного копирования pg_probackup обновлён до версии 1.1.0, предлагающей следующие улучшения:

    • Добавлены команды retention show и retention purge для реализации политики сохранения копий.

    • Добавлена поддержка инкрементального резервного копирования сжатых файлов страниц. Сжатые файлы относятся к отличительным особенностям Postgres Pro Enterprise.

    • Исправлена команда validate. Параметр ид_резервной_копии теперь является необязательным.

    • Внесены другие косметические изменения, улучшена переносимость.

  • Улучшена реализация сжатых табличных пространств:

    • Добавлена функция cfs_garbage_ratio, возвращающая процент бесполезного объёма для данного отношения.

    • Повышена стабильность в случае аварийной перезагрузки сервера или уничтожения процессов сигналом SIGTERM.

  • Исправления ошибок:

    • Добавлено исправление оптимизации WAL при создании индексов.

    • Исправлены некорректные значения xmin, xmax в автономных транзакциях.

    • Исправлена работа функций submit_job и set_job_attribute расширения pgpro_scheduler в системах Microsoft Windows.

    • Устранена проблема, приводящая к разрушению данных в сжимаемых табличных пространствах.

  • Модуль pg_pathman обновлён до версии 1.3 (см. Подраздел F.39.1.1).

  • Модуль sr_plan теперь инициализируется независимо для каждого экземпляра баз данных.

  • Изменён синтаксис описания покрывающих индексов. Ключевое слово INCLUDING было заменено словом INCLUDE. Предыдущий синтаксис по-прежнему поддерживается, но считается устаревшим (см. Раздел 11.6).

  • В системах на базе RHEL установка осуществляется в отдельный каталог, так что Postgres Pro можно установить одновременно с PostgreSQL.

  • Улучшен алгоритм автоматического выбора TCP-порта в случае с параллельной установкой разных версий нашего продукта в системах Windows.

E.31.2. Миграция на версию 9.6.2.1

Тем, кто хочет мигрировать данные из любой предыдущей основной версии, необходимо выполнить выгрузку/загрузку данных с помощью pg_dumpall или воспользоваться pg_upgrade.

При миграции с PostgreSQL или Postgres Pro Standard необходимо произвести выгрузку/восстановление базы.

Для обновления с предыдущих выпусков Postgres Pro Standard или с PostgreSQL 9.6.x требуется произвести некоторые изменения в каталоге.

Если вы используете бинарные пакеты, и ваша база данных расположена в стандартном месте, эти обновления будут выполнены автоматически. Если вы разместили ваши базы данных в нестандартном месте, самостоятельно вызывая initdb, необходимо выполнить для этих баз скрипт pgpro_upgrade, включённый в данный дистрибутивный пакет.

Перед запуском скрипта следует остановить сервис postgres. Скрипт должен запускать пользователь-владелец файлов базы (обычно postgres), а переменная среды PGDATA должна указывать на каталог, где располагается база данных.