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

PostgreSQL 17 Press Kit

Contents

Original Press Release

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

PostgreSQL 17 продолжает традиции десятилетий разработки открытого исходного кода, предлагая значительные улучшения производительности и масштабирования, при этом соответствуя современным требованиям хранения и доступа к данным. В этом релизе PostgreSQL значительно улучшена общая производительность СУБД, переработана система управления памятью для процессов очистки, оптимизирован доступ к хранилищам, улучшена работа при высокой нагрузке, обеспечено ускорение массовых загрузок и экспорта данных, а также повышена эффективность выполнения запросов с использованием индексов. В PostgreSQL 17 в равной степени уделено внимание как критически важным системам, так и принципиально новым рабочим нагрузкам. Среди ключевых нововведений — команда SQL/JSON JSON_TABLE, а также улучшенные механизмы логической репликации, которые упрощают управление в условиях высокой доступности и обновление на новые версии.

«PostgreSQL 17 — яркий пример того, как международное сообщество разработки открытого исходного кода продолжает развивать PostgreSQL, создавая улучшения, которые помогают пользователям на каждом этапе их работы с базами данных, — отметил Джонатан Кац, член основной команды разработки. — PostgreSQL 17 упростит вашу работу по управлению данными, будь то усовершенствования управления крупными базами данных или новые возможности для проектов разработки.»

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

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

Процесс очистки PostgreSQL (vacuum) играет ключевую роль в поддержании стабильной работы системы и требует значительных серверных ресурсов. В связи с этим в PostgreSQL 17 реализована новая внутренняя структура памяти для процесса очистки, потребляющая до 20 раз меньше памяти. Это ускоряет процесс очистки, а также сокращает использование совместных ресурсов, освобождая больше мощности для ваших рабочих процессов.

В PostgreSQL 17 продолжается процесс оптимизации ввода/вывода. В системах с высокой параллельной нагрузкой производительность увеличилась почти в два раза благодаря улучшенной обработке журнала предзаписи (write-ahead log, WAL). Кроме того, новый интерфейс потокового ввода/вывода ускоряет последовательное сканирование (чтение всех данных из таблицы) и обновление статистики планировщика с помощью команды ANALYZE.

В PostgreSQL 17 также оптимизирован процесс выполнения запросов. Среди ключевых улучшений — повышенная производительность запросов с предложением IN, использующих индексы B-деревья (метод индексации PostgreSQL по умолчанию). Также добавлена поддержка параллельного построения индексов BRIN. В PostgreSQL 17 реализованы несколько улучшений планирования запросов, в том числе оптимизация ограничений NOT NULL и обработки общих табличных выражений с запросами WITH. В этом релизе также улучшена поддержка SIMD (Single Instruction Multiple Data, Одиночный поток команд, множественный поток данных) для ускорения вычислений, включая использование AVX-512 для функции bit_count.

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

PostgreSQL стала первой реляционной базой данных, добавившей поддержку JSON в 2012 году, и в PostgreSQL 17 синтаксис расширен в соответствии со стандартом SQL/JSON. В версию 17 включена поддержка JSON_TABLE, что позволяет разработчикам преобразовывать данные JSON в стандартные таблицы PostgreSQL. Также поддерживаются SQL/JSON конструкторы JSON, JSON_SCALAR, JSON_SERIALIZE и функции запросов JSON_EXISTS, JSON_QUERY, JSON_VALUE, предоставляя разработчикам дополнительные способы взаимодействия с JSON-данными. В данный релиз также включены новые выражения типа jsonpath, которые позволяют преобразовывать данные из формата JSON в собственные типы данных PostgreSQL, такие как числовые, логические, строчные и типы данных даты и времени.

В PostgreSQL 17 представлены улучшения для команды MERGE, используемой для условных обновлений, в том числе добавлено предложение RETURNING и возможность изменять представления. В 17-й версии также появились новые возможности для массовой загрузки и экспорта данных, в том числе двукратное улучшение производительности при экспорте длинных строк с использованием команды COPY. Производительность команды COPY также улучшена для случаев, когда исходная и целевая кодировки совпадают, и добавлен новый параметр ON_ERROR, который позволяет продолжить импорт даже при возникновении ошибки.

В этом выпуске реализована новая функциональность для управления данными в сегментах и данными, распределёнными по удалённым экземплярам PostgreSQL. С версии 17 поддерживаются столбцы идентификаторов и ограничения-исключения для секционированных таблиц. Обёртка сторонних данных PostgreSQL (postgres_fdw) для выполнения запросов на удалённых экземплярах теперь может передавать подзапросы EXISTS и IN на удалённый сервер в целях улучшения качества обработки.

В PostgreSQL 17 представлен встроенный кроссплатформенный постоянный провайдер правил сортировки, постоянность которого гарантирована. Он предоставляет семантику правил сортировки, аналогичную C, но с кодировкой SQL_ASCII вместо UTF-8. Использование нового провайдера гарантирует, что ваши текстовые запросы вернут одинаковые результаты сортировки вне зависимости от того, где вы запускаете PostgreSQL.

Улучшения логической репликации для высокого уровня отказоустойчивости и обновления на основные версии

Логическая репликация позволяет передавать данные в реальном времени. Однако ранее пользователям приходилось удалять слоты логической репликации перед обновлением на основную версию, что требовало повторной синхронизации данных на узлах-подписчиках после обновления. Начиная с PostgreSQL 17, пользователям не придётся этого делать, что упрощает процесс обновления при использовании логической репликации.

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

Управление безопасностью и операциями

В PostgreSQL 17 расширен спектр возможностей управления жизненным циклом систем баз данных. В новой версии добавлен параметр TLS sslnegotiation, который позволяет установить прямое TLS-соединение при использовании согласования протокола прикладного уровня ALPN (Application-Layer Protocol Negotiation, postgresql в каталоге ALPN). Также в PostgreSQL 17 добавлена предопределённая роль pg_maintain, предоставляющая пользователям право на выполнение операций обслуживания.

Утилита pg_basebackup для резервного копирования PostgreSQL теперь поддерживает инкрементальное резервное копирование. Также добавлена утилита pg_combinebackup для воссоздания полной резервной копии. Кроме того, в pg_dump добавлен параметр --filter, позволяющий выбрать объекты, которые необходимо выгрузить в файл.

В PostgreSQL 17 также реализованы улучшения для мониторинга и анализа. Команда EXPLAIN теперь выводит время, потраченное на запись и чтение локальных блоков ввода/вывода, а также включает в себя два новых параметра: SERIALIZE и MEMORY. Они позволяют проанализировать время, потраченное на преобразование данных для передачи по сети, и объём использованной памяти. В версии 17 теперь показывается прогресс очистки индексов и добавлено системное представление pg_wait_events, которое в сочетании с pg_stat_activity предоставляет более подробную информацию о том, почему активный сеанс находится в состоянии ожидания.

Дополнительные улучшения

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

О PostgreSQL

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

Ссылки

О PostgreSQL

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

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

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

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

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

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

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

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

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

Лицензия

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

Контакты

Сайт

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

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

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

PostgreSQL Logo

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

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

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

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