Вышла первая бета-версия СУБД PostgreSQL 9.1

После пяти альфа-выпусков подготовка релиза СУБД PostgreSQL 9.1 перешла на стадию бета-тестирования. Сообщается, что представленная бета-версия содержит все запланированные для версии PostgreSQL 9.1 улучшения. В рамках бета-тестирования новшества добавляться не будут — вся работа теперь сосредоточена на исправлении ошибок. Релиз PostgreSQL 9.1 ожидается в течение лета.

Ветка PostgreSQL 9.1 отличается большим объемом нововведений, вероятно одним из самых крупных в истории единичных релизов PostgreSQL. Некоторые из новшеств представляют собой инновации, впервые реализованные в PoetgreSQL и еще не доступные в других СУБД. Из ключевых улучшений можно отметить:

  • Поддержка синхронной репликации, при которой запасной сервер (standby) будет содержать гарантированно совпадающие с основным сервером данные — до получения подтверждения записи синхронизированных данных транзакция не будет считаться завершенной. Ранее репликация на запасной сервер осуществлялась только в асинхронном режиме. Синхронную репликацию можно применять для отдельных транзакций, что позволяет комбинировать оба механизма, используя по умолчанию быстрый асинхронный механизм для обычных операций и надежный синхронный для наиболее критичных изменений;
  • Поддержка указания COLLATION-свойств для отдельных столбцов, доменов, индексов и выражений, что позволяет задать для разных столбцов свои правила хранения, сортировки и сравнения с учетом указанной локали. Например: CREATE TABLE test1 ( a text COLLATE «de_DE», b text COLLATE «ru_RU»…). Ранее COLLATION могли быть указаны только на уровне БД в целом.
  • Возможность исключение отражения в WAL-логе активности по отдельным таблицам. Подобные таблицы отличаются повышенной производительностью, но могут привести к потере данных в случае краха СУБД. Для создания подобных таблиц при выполнении «CREATE TABLE» следуюет указать признак «UNLOGGED«;
  • Реализация KNN GiST индексов (K-Nearest-Neighbor), добавляющая в GiST поддержку алгоритма оптимального поиска ближайших соседей, что может быть использовано для организации поиска географических объектов;
  • Добавлен уровень реальной изоляции снапшотов с задействованием сериализации, позволяющий использовать отдельный MVCC-снапшот на протяжении всей транзакции;
  • Возможность использования выражения «WITH» с операциями INSERT, UPDATE, DELETE, что позволяет осуществить рекурсивное обновление столбцов или обновление по сложному критерию, ранее требовавшему написания встраиваемой процедуры;
  • Интеграция поддержки SELinux для управления доступом на уровне объектов БД. Для привязки SELinux-меток к объектам или изменения меток следует использовать выражение «SECURITY LABEL«. Пример: «SECURITY LABEL FOR selinux ON TABLE mytable IS ‘system_u:object_r:sepgsql_table_t:s0’;»;
  • Поддержка расширений, позволяющих упростить формирование пакетов, расширяющих функциональность СУБД. Для создания расширения следует использовать новые команды «CREATE/ALTER/DROP EXTENSION». Выражения createlang и droplang, а также старые методы установки contrib-модулей, в связи с появлением расширений объявлены устаревшими;
  • Поддержка прикрепленных таблиц SQL/MED (Management of External Data), позволяющих через таблицу-враппер управлять при помощи SQL внешними данными, не хранимыми силами СУБД.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.