Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Релиз СУБД PostgreSQL 10

После года разработки доступна новая стабильная ветка СУБД 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 на русском языке.

OpenNET

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...