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
должна указывать на каталог, где располагается база данных.