September 26, 2024: PostgreSQL 17 Released!
This page in: Chinese / English / French / German / Hebrew / Italian / Japanese / Korean / Portuguese / Russian / Spanish / Swedish / Ukrainian

PostgreSQL 16 Press Kit

Contents

Original Press Release

14 сентября 2023г. - Сегодня Глобальная группа разработки PostgreSQL объявляет о выходе PostgreSQL 16, последней версии самой развитой базы с открытым исходным кодом.

В PostgreSQL 16 увеличена производительность, а также значительно улучшены распараллеливание запросов, массовая загрузка данных и логическая репликация. В этом выпуске реализована новая функциональность как для разработчиков, так и для администраторов: расширение синтаксиса SQL/JSON, новые статистики мониторинга рабочей нагрузки и возможность гибкой настройки правил доступа для управления политиками в больших парках.

«В условиях развития реляционных баз данных PostgreSQL продолжает повышать производительность поиска и управления данными в больших масштабах, — говорит Дейв Пейдж, член Главной команды PostgreSQL. — PostgreSQL 16 предоставляет пользователям больше методов для вертикального и горизонтального масштабирования для поддержки рабочих нагрузок, а также новые способы получения информации и оптимизации управления данными.»

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

Улучшение производительности

В PostgreSQL 16 улучшена производительность существующей функциональности PostgreSQL за счет оптимизации планировщика запросов. В данном выпуске планировщик запросов может распараллеливать соединения FULL и RIGHT, строить более оптимальные планы для запросов, использующих агрегатные функции с предложениями DISTINCT или ORDER BY, применять инкрементальную сортировку для запросов SELECT DISTINCT и оптимизировать оконные функции для более эффективного выполнения. Также оптимизируются «антисоединения» RIGHT и OUTER, что позволяет пользователям найти строки, отсутствующие в соединенной таблице.

В данном выпуске улучшена массовая загрузка данных с использованием COPY в отдельных и параллельных операциях, в результате чего тесты производительности показывают ускорение на 300% в некоторых случаях. В PostgreSQL 16 реализована поддержка балансировки нагрузки в клиентах, использующихlibpq, и представлены улучшения стратегии очистки в целях уменьшения необходимости полной заморозки таблиц. Кроме того, в PostgreSQL 16 добавлена поддержка SIMD-инструкций для архитектур x86 и ARM, что приводит к увеличению производительности при обработке строк ASCII и JSON и поиске в массивах и подтранзакциях.

Логическая репликация

Логическая репликация позволяет пользователям передавать данные на экземпляры PostgreSQL или подписчикам, которые могут интерпретировать протокол логической репликации PostgreSQL. В PostgreSQL 16 логическая репликация может выполняться с резервного сервера, то есть он может публиковать логические изменения на другие серверы. Это дает разработчикам новые возможности распределения рабочей нагрузки — например, использование резервного, а не загруженного ведущего сервера для логической репликации изменений в принимающие системы.

Кроме того, в PostgreSQL 16 внесены дополнительные улучшения производительности логической репликации. Теперь подписчики могут применять большие транзакции, используя параллельные рабочие процессы. Для таблиц без первичного ключа подписчики могут использовать индексы B-деревья вместо последовательного сканирования для поиска строк. При определенных условиях пользователи могут также ускорить начальную синхронизацию таблиц в двоичном формате.

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

Усовершенствования для разработчиков

В PostgreSQL 16 расширен синтаксис SQL/JSON в соответствии со стандартом, включая конструкторы и предикаты, такие как JSON_ARRAY(), JSON_ARRAYAGG() и IS JSON. В данной версии также появилась возможность использовать символы подчеркивания для разделения групп цифр (например, 5_432_000) и недесятичные целочисленные константы, такие как 0x1538, 0o12470 и 0b1010100111000.

Разработчики, использующие PostgreSQL 16, также могут воспользоваться новыми командами в psql. К ним относится команда \bind, позволяющая пользователям подготовить параметризованные запросы и использовать \bind для замены переменных (например, SELECT $1::int + $2::int \bind 1 2 \g).

В PostgreSQL 16 улучшена поддержка правил сортировки (порядок текстовых строк). По умолчанию PostgreSQL 16 собирается с поддержкой ICU, определяет локаль ICU по умолчанию из окружения и позволяет пользователям определять собственные правила сортировки ICU.

Мониторинг

Ключевым аспектом оптимизации производительности рабочих нагрузок является понимание влияния операций ввода-вывода на систему. В PostgreSQL 16 появляется pg_stat_io, новый источник метрик ввода-вывода для детального анализа методов обращения к данным.

Кроме того, в данной версии в представление pg_stat_all_tables добавлено новое поле, в котором фиксируется информация о дате и времени последнего обращения к таблице или индексу. Также в PostgreSQL 16 упрощается чтение auto_explain благодаря протоколированию значений, передаваемых в параметризованные запросы, и повышена точность алгоритма отслеживания запросов, используемого в pg_stat_statements и pg_stat_activity.

Управление доступом и улучшения в области безопасности

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

В этом выпуске добавлено несколько параметров для настройки безопасного клиентского соединения, включая require_auth, который позволяет клиентам указывать, какие параметры аутентификации они готовы принимать от сервера, и sslrootcert="system", который указывает, что в PostgreSQL должно использоваться хранилище сертификатов доверенных центров сертификации (ЦС), предоставленное ОС клиента. Кроме того, в этой версии добавлена поддержка делегирования Kerberos, что позволяет расширениям, таким как postgres_fdw и dblink, использовать аутентифицированные учетные данные для подключения к доверенным сервисам.

О PostgreSQL

PostgreSQL — это самая передовая СУБД с открытым исходным кодом и глобальным сообществом, объединяющим тысячи пользователей, разработчиков, компаний и организаций. История СУБД PostgreSQL началась в Калифорнийском университете в Беркли более 35 лет назад, и проект продолжает развиваться с беспрецедентной скоростью. Богатый набор проверенных временем возможностей PostgreSQL не только не уступает ведущим коммерческим СУБД, но и превосходит их в плане продвинутой функциональности, расширяемости, безопасности и стабильности.

Ссылки

О PostgreSQL

PostgreSQL — это самая передовая СУБД с открытым исходным кодом и глобальным сообществом, объединяющим тысячи пользователей, разработчиков, компаний и организаций. История СУБД PostgreSQL началась в Калифорнийском университете в Беркли более 35 лет назад, и проект продолжает развиваться с беспрецедентной скоростью. Богатый набор проверенных временем возможностей PostgreSQL не только не уступает ведущим коммерческим СУБД, но и превосходит их в плане продвинутой функциональности, расширяемости, безопасности и стабильности.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

Подробное описание функциональности

За описанием вышеупомянутых и других функций и возможностей обратитесь к следующим ресурсам:

Загрузка продукта

Вы можете загрузить PostgreSQL 16 разными способами, в том числе воспользовавшись следующими ресурсами:

Другие утилиты и расширения доступны в Сети расширений PostgreSQL.

Документация

PostgreSQL 16 распространяется с документацией в виде HTML, а также страниц man. Кроме того, можно читать документацию на сайте в форматах HTML и PDF.

Лицензия

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

Контакты

Сайт

Электронная почта

Изображения и логотипы

Postgres, PostgreSQL и логотип PostgreSQL с изображением слона («Слоник») — зарегистрированные товарные знаки Ассоциации сообщества PostgreSQL. Если вы хотите использовать эти знаки, вы должны соблюдать политику товарных знаков.

PostgreSQL Logo

Коллективная поддержка

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

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

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