{% extends "pages/about/press/presskit14/base.html" %} {% block presskit_content %}
Всемирная группа разработки PostgreSQL объявила сегодня о выходе PostgreSQL 14, новейшей версии лидирующей реляционной системы управления базами данных (СУБД) с открытым исходным кодом.
PostgreSQL 14 содержит широкий спектр возможностей, призванных помочь разработчикам и администраторам выпускать активно работающие с данными приложения. PostgreSQL продолжает развивать инновации в области работы со сложными типами данных, включая более удобный доступ к JSON и поддержку несмежных интервалов данных. Улучшения производительности и нагрузок, ориентированных на работу с распределёнными данными, традиционно присутствуют и в новом релизе: в этот раз акцент сделан на следующее:
"Новейший релиз PostgreSQL развивает возможности наших пользователей работать с нагрузками на базы данных в больших масштабах, а также улучшает наблюдаемость и привносит новый функционал, помогающий разработчикам приложений, — комментирует Магнус Хагандер (Magnus Hagander), член Основной Команды (Core Team) PostgreSQL, – Выпуск PostgreSQL 14 свидетельствует о приверженности глобального PostgreSQL-сообщества подходу, при котором внимательно анализируется обратная связь от пользователей системы и продолжается развитие инновационного продукта в области баз данных, используемого и в малых, и в крупных организациях."
PostgreSQL, инновационная система управления данными, известная своей надёжностью и производительностью, пользуется плодами 26 лет открытой разработки, осуществляемой глобальным сообществом разработчиков). В результате сегодня во всём мире организации любого размера отдают предпочтение PostgreSQL как СУБД с открытым иходным кодом.
Поддержка JSON появилась в PostgreSQL впервые в версии 9.2, при этом получение различных значений из JSON-данных осуществлялось с помощью уникального синтаксиса. В PostgreSQL 14 же становится возможным осуществлять доступ к частям JSON с помощью адресации подобной той, которая используется для массивов. Например, теперь можно использовать запросы вроде SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];
. Это делает синтаксис запросов PostgreSQL соответствующим ожиданиям пользователей, работающих с JSON в других системах. Фреймворк адресации JSON, появившийся в PostgreSQL 14, может быть использользован для других данных с вложенной структурой — и это уже сделано для типа данных hstore.
Интервальные типы данных, также впервые появившиеся в PostgreSQL 9.2, теперь поддерживают интервалы с прерываниями — это достигается за счёт появления "мульти-интервальных" типов данных. Мульти-интервал — это упорядоченный список непересекающихся интервалов, который позволяет разработчикам создавать более простые запросы, когда речь идёт о сложных последовательностях интервалов. "Родные" интервальные типы данных PostgreSQL — интервалы дат, времени, чисел — теперь поддерживают этот функционал, а остальные типы могут быть расширены, чтобы его задействовать.
В PostgreSQL 14 осуществлён существенный прорыв в оптимизации для нагрузок, использующих большое количество соединений — некоторые бенчмарки показывают улучшение производительности в 2 раза. Также этот релиз привносит очередные оптимизации для индексов типа "B-дерево" (основной тип индексов, используемый по умолчанию): существенно уменьшены темпы распухания (bloat) индексов в ситуациях с частыми обновлениями.
В PostgreSQL 14 можно использовать конвейерный режим запросов к базе данных, что может существенно улучшить производительность в ситуациях с высокими задержками соединения, а также при нагрузках с большим количеством легковесных операций записи (INSERT
/UPDATE
/DELETE
). Так как эта возможность реализована на "клиентской" стороне, вы можете использовать конвейерный режим с любой современной версией PostgreSQL при условии, что применяется клиенское ПО версии 14 или же драйвер работы с PostgreSQL скомпилирован с поддержкой библиотеки libpq версии 14.
Распределенные базы данных PostgreSQL выиграют от перехода на версию 14. При использовании логической репликации PostgreSQL теперь может отправлять подписчикам информацию о незавершённых транзакциях, что приводит к значительным улучшениям производительности при применении больших транзакций на подписчиках. PostgreSQL 14 также содержит несколько оптимизаций производительности в системе логического декодирования, что усиливает возможности логической репликации.
Обёртки сторонних данных (foreign data wrappers), которые используются для работы с объединёнными PostgreSQL базами данных и другими системами, в PostgreSQL 14 могут задействовать параллелизм выполнения запросов. В этом релизе данная возможность реализована в postgres_fdw
, обёртке сторонних данных для работы с внешними базами данных PostgreSQL.
В дополнение к поддержки параллельного выполнения запросов, postgres_fdw
теперь может осуществлять массовую вставку данных и импорт секционированных таблиц с помощью директивы IMPORT FOREIGN SCHEMA
.
В PostgreSQL 14 представлены новые улучшения производительности системы очистки (vacuuming), включая оптимизации для индексов типа B-дерево. В этом релизе добавлен "аварийный режим" очистки, предназначенный для предотвращения переполнения счётчика транзакций (transaction ID wraparound). Операция ANALYZE
, используемая для сбора статистики, теперь работает значительно быстрее благодаря ряду оптимизаций производительности.
Сжатие для TOAST-системы, которая используется для хранения больших данных, таких как блоки текстов, теперь может настраиваться. В PostgreSQL 14 добавлена поддержка алгоритма сжатия LZ4 для TOAST-столбцов, в дополнение к существующей поддержке pglz
.
В PostgreSQL 14 появляются несколько новых функций для мониторинга и наблюдаемости, включая:
COPY
,compute_query_id
позволит вам отслеживать конкретный запрос, используя различные системы PostgreSQL – такие как pg_stat_activity
, EXPLAIN VERBOSE
и т.д.Улучшения в PostgreSQL вносят свой вклад в процессы планирования и выполнения запросов. В этом релизе включены несколько оптимизаций параллельного выполнения запросов, в том числе улучшенное параллельное выполнений последовательного сканирования, возможности для PL/pgSQL
выполнять параллельные запросы при использовании команды RETURN QUERY
, а также возможность задействовать параллельное выполнение запросов для REFRESH MATERIALIZED VIEW
. Кроме этого, запросы, использующие соединения на основе вложенных циклов, могут выполняться более эффективно за счёт дополнительного кэширования, реализованного в PostgreSQL 14.
Расширенная статистика теперь может быть использована для выражений. А также, производительность работы с оконными функциями выигрывает от использования инкрементальных сортировок — возможности, появившейся в PostgreSQL 13.
Хранимые процедуры, которые позволяют управлять транзакциями в блоках кода, теперь поддерживают параметры OUT
для определения возвращаемых данных.
PostgreSQL 14 предоставляет возможность "связывать" или, другими словами, выравнивать значения типа timestamp с конкретном интервалам времени, используя функцию date_bin
. В этом релизе также добавлены соответствующие стандарту выражения SEARCH
и CYCLE
, помогающие с сортировкой и определениям циклов в рекурсивных CTE.
PostgreSQL 14 позволяет удобно управлять привилегиями "только на чтение" и "только на запись" для таблиц, представлений и схем, используя предопределённые роли pg_read_all_data
и pg_write_all_data
.
Кроме этого, в этом релизе соответствующее стандартам система управления паролями и аутентификации SCRAM-SHA-256
становится системой по умолчанию для новых экземпляров PostgreSQL.
PostgreSQL является ведущей СУБД с открытыми исходными текстами, с глобальным сообществом из тысяч пользователей и разработчиков, объединяющим множество компаний и организаций. Проект PostgreSQL базируется на более чем 30-летнем опыте проектирования и разработки, начавшихся в Калифорнийском университете Беркли, и в настоящее время продолжает развиваться беспрецедентными темпами. Богатый набор возможностей PostgreSQL не только не уступает ведущим коммерческим СУБД, но и превосходит их развитой функциональностью, расширяемостью, безопасностью и стабильностью.