Релиз СУБД PostgreSQL 10
Опубликовано 05 Октябрь 2017 14:25:38
После года разработки доступна новая стабильная ветка СУБД PostgreSQL 10. Обновления для новой ветки будут выходить в течение пяти лет до октября 2022 года. Выбор номера версии 10 вместо 9.7.0 связано с переходом проекта на новую нумерацию выпусков. Вместо трёхуровневневой нумерации (Major1.Major2.Minor) отныне будет применяться схема "Major.Minor", в которой "Major" указывает номер значительной ветки, а "Minor" - номер корректирующего обновления, не требующего перезаливки БД. Таким образом, первым корректирующим релизом PostgreSQL 10 станет 10.1, а следующей значительной версией PostgreSQL 11. Как и раньше значительные версии будут формироваться раз в год.
Основные новшества:
- Режим логической репликации, позволяющий выборочно реплицировать только заданные таблицы или использовать репликацию в процессе обновления для организации перехода на новую значительную версию без остановки работы СУБД. Данный вид репликации манипулирует логическими изменениями на уровне выполняемых операций, в то время как традиционная репликация работает на очень низком уровне, перенося байтовые изменения в WAL-журнале;
- Добавлены встроенные возможности партицирования таблиц по диапазонам значений и спискам - разбивка теперь может задаваться при помощи декларативного синтаксиса через выражения "PARTITION BY" и "PARTITION OF" в директиве "CREATE TABLE". Например:
CREATE TABLE padre ( id serial not null, nombre text not null, fch_creado timestamptz not null ) PARTITION BY RANGE ( id ); CREATE TABLE hijo_0 partition of padre (id, primary key (id), unique (nombre)) for values from (unbounded) to (9); CREATE TABLE hijo_1 partition of padre (id, primary key (id), unique (nombre)) for values from (10) to (unbounded);
- Обеспечено распараллеливание с задействованием нескольких ядер CPU таких операций, как сканирование индексов и битовых карт, выполнение запросов со слиянием таблиц (JOIN);
- Возможность подтверждения коммитов на основе кворума для предотвращения потери данных после выхода из строя сразу нескольких синхронно реплицируемых узлов. Например, теперь можно указать, что коммит должен быть подтверждён любыми К из N запасных синхронно реплицируемых серверов, без жестко заданной последовательности проверки;
- Поддержка отслеживания незавершённых коммитов - позволяет выяснить статус недавно запущенной транзакции для организации восстановления после краха или обрыва соединения;
- Поддержка аутентификации SCRAM-SHA-256 (вместо MD5) для организации более безопасного доступа по паролю;
- Многохостовый режим отказоустойчивости в libpq, при котором клиент соединяется с первым работающим хостом из заданного списка;
- Добавлен параметр "target_session_attrs", позволяющий клиенту запросить хост, доступный на запись или чтение;
- Для индексов типа Hash обеспечена поддержка репликации и повышена устойчивость к сбоям после крахов;
- Добавлен новый тип полномочий, определяющий доступ к функциям мониторинга (pg_read_all_settings, pg_read_all_stats, pg_stat_scan_tables и pg_monitor);
- Добавлено выражение XMLTABLE, позволяющее представить XML-документ в табличном формате, что существенно упрощает разбор XML-данных, хранимых в БД;
- Поддержка полнотекстового поиска для типов JSON и JSONB;
- Поддержка сжатия данных в журналах pg_receivewal;
- В модуле file_fdw появилась возможность запуска внешних программ, например, можно импортировать данные в таблицу из сжатого файла, запустив gunzip для распаковки;
- Добавлены средства для накопления статистики по корреляции данных в разных столбцах, которая может оказаться полезной для исключения выбора планировщиком некоторых ошибочных стратегий;
- Добавлена независимая от операционной системы реализация свойства локали "Collation", позволяющего задавать правила сортировки и методы сопоставления с учётом смысла символов. Реализация основана на libicu и идентична для Linux и Windows;
- Увеличена производительность функции SUM(), преобразования кодировок символов, выполнение выражений, группировки множеств и выполнения операций JOIN над уникальными столбцами. При выполнении аналитических запросов над большим числом строк наблюдается ускорение до 40%;
- Из нарушающих совместимость изменений отмечается переименование "xlog" в "wal" в именах функций и файлов, прекращение поддержки устаревшего протокола FE/BE 1.0, изменение настроек по умолчанию для репликации и резервирования (pg_basebackup), прекращение поддержки значений времени (Timestamps) с плавающей запятой, удаление contrib/tsearch2 и прекращение поддержки в pg_dump баз данных от PostgreSQL 7.4 и более ранних выпусков;
- Изменены применяемые по умолчанию параметры конфигурации: wal_level = replica, max_wal_senders = 10 и max_replication_slots = 10.
Дополнение: Опубликован пресс-релиз с анонсом PostgreSQL 10 на русском языке.
Источник: http://www.opennet.ru/opennews/art.shtml?num=47337
|
0 | Tweet | Нравится |
|