Перейти к содержанию

Релиз СУБД PostgreSQL 11

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

19 октября 2018 года

После года разработки опубликована новая стабильная ветка СУБД PostgreSQL 11. Обновления для новой ветки будут выходить в течение пяти лет до октября 2023 года. Основное внимание при подготовке новой ветки было уделено расширению функциональности в областях управления очень большими базами данных и разработки приложений для масштабируемой обработки больших данных.

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

  • Добавлена возможность применения JIT-компиляции (Just-in-Time) для ускорения выполнения некоторых выражений в процессе обработки SQL-запроса. Например, JIT применим для ускорения выполнения выражений внутри блоков "WHERE", в выходных списках (target lists), агрегатных выражениях и проекциях. JIT также задействован для ускорения некоторых внутренних операций. Предложенный JIT-компилятор построен на основе наработок LLVM и для включения требует установки дополнительных зависимостей, связанных с LLVM. Включение осуществляется настройкой "jit = on" в файле конфигурации или командой "SET jit = on" в интерактивном сеансе;
  • Добавлен новый вид хранимых процедур, позволяющих использовать транзакции. Процедуры определяются с использованием синтаксиса SQL и позволяют использовать все средства управления транзакциями. Поддержка транзакций в процедурах даёт возможность создавать более продвинутые серверные обработчики, например, для пакетной загрузки данных. Для определения хранимых процедур с транзакциями добавлена новая команда CREATE PROCEDURE. Для выполнения процедуры используется команда CALL. К SQL-процедурам также можно обращаться из хранимых процедур на PL/pgSQL, PL/Perl, PL/Python и PL/Tcl;
  • Улучшения, связанные с секционированием (партицированием):
  • Реализована поддержка секционирования данных по хэшу, которая позволяет секционировать таблицы не только по диапазонам значений и спискам, но и по произвольным ключам.
  • Обеспечена корректная маршрутизация операций INSERT, UPDATE и COPY для секционированных таблиц, обрабатываемых с использованием модуля postgres_fdw (логически объединяет таблицы с нескольких серверов);
  • Представлена секция "catch-all", которая используется по умолчанию для данных, не соответствующих ключу секции, и позволяет применять первичные ключи, внешние ключи, индексы и триггеры над секционированными таблицами.
  • Обеспечено автоматическое перемещение записей в корректную секцию, в случае изменения в записи ключа для выбора секции;
  • Увеличена производительность запросов при чтении данных из секций;
  • Добавлена возможность применения операции "upsert" (добавить-или-модифицировать) к секционированным таблицам, что позволяет упростить код приложений и снизить число сетевых запросов;
  • Проведена работа по увеличению производительности параллельной обработки запросов. Увеличена производительность распараллеливания операций последовательного сканирования и слияния хэшей. Добавлена возможности распараллеливания операций при выполнении команд "CREATE TABLE ... AS", "CREATE MATERIALIZED VIEW" и блоков UNION. В команде "CREATE INDEX" реализована параллельная обработка данных при построении индексов B-tree;
  • Обеспечена возможность обойтись без полной перезаписи таблицы при выполнении "ALTER TABLE ... ADD COLUMN" при отличающемся от null значении столбца по умолчанию;
  • В "CREATE INDEX" добавлена опция INCLUDE для создания индексов-обёрток, включающих дополнительные столбцы;
  • В оконные функции добавлена поддержка всех опций "рамок окна" (window frame), определённых в стандарте SQL:2011, включая возможность использования RANGE для PRECEDING/FOLLOWING, режима GROUPS и опций исключения рамок;
  • В интерфейс командной строки в дополнение к штатной команде "\q" добавлены более привычные для новичков команды "quit" и "exit".

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


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

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

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