Релиз СУБД PostgreSQL 9.6

Материал из Викиновостей, свободного источника новостей

29 сентября 2016 года

После десяти месяцев разработки представлена новая стабильная ветка СУБД PostgreSQL 9.6. Обновления для ветки 9.6 будут выходить в течение пяти лет до сентября 2021 года.

Основные новшества:

  • Поддержка распараллеливания операций последовательного сканирования записей ( Sequential Scan), слияния запросов ( join) и агрегирования данных. При распараллеливании операция разбивается на части и каждая часть разбирается отдельным обработчиком, после чего результаты работы каждого обработчика объединяются, что позволяет существенно увеличить скорость обработки запроса на системах с большим числом процессорных ядер. Выигрыш особенно заметен для ресурсоёмких запросов, таких как сопоставление по регулярным выражениям. Например, в текстах при включении распараллеливания некоторые запросы выполняются до 32 раз быстрее.
  • Новый режим синхронной репликации "synchronous_commit = remote_apply", при котором основной узел перед закрытием транзакции ожидает подтверждения применения данных на standby-узле, что позволяет обеспечить непротиворечивость операций чтения из БД в любой части кластера;
  • Возможность создания кластерных конфигураций, включающих несколько запасных узлов, реплицируемых в синхронном режиме. Данная возможность может применяться для создания нескольких полностью идентичных узлов для балансировки нагрузки;
  • В модуль postgres_fdw, позволяющий логически объединить содержимое БД с нескольких серверов, добавлена поддержка операций слияния (join) и сортировки запросов, а также выполнения операций UPDATE и DELETE на внешнем сервере. В том числе модуль может применяться для первичной обработки запросов в PostgreSQL с трансляцией запросов на внешние БД, которые могут обслуживаться другими СУБД;
  • Новый API для создания горячих бэкапов, в котором метка резервной копии не записывается в директорию с данными, а возвращается как результат выполнения функции pg_stop_backup(), что позволяет защититься от проблем в случае краха во время бэкапа;
  • Снижено негативное влияние на работу больших таблиц операции "autovacuum", благодаря исключению операций повторной заморозки ("refreezing") старых данных;
  • Реализована подсистема для отображения прогресса выполнения операций, например, организовано информирование о времени до завершения VACUUM;
  • В систему полнотекстового поиска добавлены средства поиска фраз, реализованные через новый оператор <-> или <DISTANCE>, определяющий расстояние между словами (например, можно осуществить выборку фраз, в которых слово "А" отделено от "B" заданным числом слов). Совместно с новыми опциями гибкой настройки поиска, новая возможность может применяться для создания гибридных систем поиска, объединяющих поиск по реляционным данным, JSON и полнотекстовым индексам;
  • Новые системные представления и функции: pg_stat_wal_receiver, pg_visibility, pg_config, pg_blocking_pids, g_notification_queue_usage;
  • При установке дополнений теперь поддерживается каскадная установка зависимостей;
  • В модуле pg_basebackup появилась поддержка распараллеливания операций и слотов репликации;
  • В утилиту psql добавлены команды \ev и \sv для редактирования представлений. Реализована возможность указания нескольких экземпляров опций "-c" и "-f". Добавлен режим \crosstabview для отображения результатов запроса в виде сетки, по аналогии с электронными таблицами;
  • Добавлен отладочный модуль pg_visibility, предоставляющий средства для изучения карты видимости (Visibility Map, отслеживает какие элементы видны для всех активных транзакций);
  • Поддержка выражения "ALTER TABLE ADD COLUMN ... IF NOT EXISTS" для добавления столбца только при его отсутствии в таблице;
  • Возможность создавать GIN-индексы с любым значением maintenance_work_mem;
  • Новое системное представление pg_config, отражающее параметры сборки СУБД;

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Релиз СУБД PostgreSQL 9.6», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.