Вышла СУБД PostgreSQL 14

Группа разработчиков PostgreSQL объявила о выпуске PostgreSQL 14, последней версии базы данных с открытым исходным кодом. Она предлагает множество функций, которые помогают разработчикам и администраторам развертывать свои приложения с поддержкой данных. 

Market Research TelecastMarket Research Telecast

Разработчики PostgreSQL сообщили, что проект продолжает добавлять инновации в отношении сложных типов данных, включая более удобный доступ для JSON и поддержку несмежных диапазонов данных. В последнем выпуске повышена производительность и улучшены рабочие нагрузки с распределенными данными, а также с высокой скоростью записи. улучшения затронули также параллельные запросы и логическую репликацию.

«Этот последний выпуск PostgreSQL расширяет возможности наших пользователей по масштабному управлению рабочими нагрузками данных и содержит новые функции, которые помогают разработчикам приложений», — сказал Магнус Хагандер, член основной группы PostgreSQL. 

PostgreSQL поддерживает манипулирование данными JSON с момента выпуска PostgreSQL 9.2, хотя для получения значений использовался уникальный синтаксис. PostgreSQL 14 позволит получать доступ к данным JSON с помощью индексов, например, заработал запрос типа SELECT ('{ «postgres»: { «release»: 14 }}':: jsonb)['postgres']['release'];. Это приводит PostgreSQL в соответствие с синтаксисом, который обычно используется для извлечения информации из данных JSON.

В PostgreSQL 9.2, теперь поддерживаются несмежные диапазоны благодаря введению «многодиапазонного» типа данных. Это позволит разработчикам писать более простые запросы для работы со сложными последовательностями диапазонов.

PostgreSQL 14 обеспечивает значительное увеличение пропускной способности для рабочих нагрузок, использующих много соединений, при этом некоторые тесты показывают двукратное ее ускорение. Также СУБД предоставляет возможность конвейерной обработки запросов к базе данных, что может значительно повысить производительность при соединениях с высокой задержкой или для рабочих нагрузок с большим количеством небольших операций записи (INSERT/UPDATE/DELETE). 

В случае с распределенными базами PostgreSQL 14 сможет передавать подписчикам потоки выполняемых транзакций. Также добавлены несколько других улучшений производительности в систему логического декодирования, которая обеспечивает логическую репликацию.

Оболочки сторонних данных, которые используются для работы с объединенными рабочими нагрузками в PostgreSQL и других базах данных, теперь могут использовать параллелизм запросов в PostgreSQL 14. В этом выпуске данная возможность реализована в postgres_fdw, оболочке внешних данных, которая взаимодействует с другими базами данных PostgreSQL.

Помимо поддержки параллелизма запросов, postgres_fdw теперь может выполнять массовую вставку данных в сторонние таблицы и импортировать разделы таблиц с помощью IMPORT FOREIGN SCHEMA.

В этом выпуске добавлен вакуумный «аварийный режим», предназначенный для предотвращения зацикливания идентификатора транзакции. ANALYZE, используемый для сбора статистики базы данных, теперь работает значительно быстрее из-за собственных улучшений производительности.

Разработчики смогут настроить сжатие для системы TOAST PostgreSQL, которая используется для хранения больших данных. PostgreSQL 14 добавляет сжатие LZ4 для столбцов TOAST, сохраняя при этом поддержку сжатия pglz.

Добавлены несколько новых функций, помогающих с мониторингом, включая возможность отслеживать ход выполнения команд COPY и активность журнала упреждающей записи (WAL). Включение compute_query_id позволяет однозначно отслеживать запрос с помощью нескольких функций PostgreSQL, включая pg_stat_activity, EXPLAIN VERBOSE и другие.

Этот выпуск включает несколько улучшений поддержки параллелизма запросов PostgreSQL, в том числе повышение производительности параллельного последовательного сканирования, возможность PL/pgSQL выполнять параллельные запросы при использовании команды RETURN QUERY и включение REFRESH MATERIALIZED VIEW для выполнения параллельных запросов. Кроме того, запросы, использующие объединения вложенных циклов, могут получить повышение производительности за счет дополнительного кэширования.

В PostgreSQL 14 теперь можно использовать расширенную статистику для выражений. Кроме того, добавлена инкрементная сортировка.

В PostgreSQL 14 появилась возможность «связывать» или выравнивать временные метки с определенным интервалом с помощью функции date_bin. В этом выпуске также добавлены предложения SEARCH и CYCLE, соответствующие SQL, чтобы помочь с упорядочиванием рекурсивных общих табличных выражений.

PostgreSQL 14 позволяет удобно назначать пользователям привилегии только для чтения и записи в таблицах, представлениях и схемах с помощью предопределенных ролей pg_read_all_data и pg_write_all_data.

Кроме того, в этом выпуске система управления паролями и аутентификации SCRAM-SHA-256 теперь используется по умолчанию.

В обсуждении релиза пользователи предложили добавить в СУБД функцию миграции DX, чтобы упростить внесение всех видов изменений в БД и обновление версий.

© Habrahabr.ru