Всемирная группа разработки PostgreSQL объявила сегодня о выходе PostgreSQL 13, новейшей версии лидирующей реляционной системы управления базами данных (СУБД) с открытым исходным кодом.
PostgreSQL 13 содержит существенные улучшения систем индексирования и поиска данных, которые будут полезны при работе с большими БД. Среди таких улучшений: экономия места и прирост производительности индексов; меньшее время ответа для запросов, которые используют агрегацию и секционирование; лучшее планирование запросов при использовании расширенной статистики.
Наряду с такими давно ожидаемыми возможностями как параллелизация очистки (vacuuming) и инкрементальная сортировка, PostgreSQL 13 обеспечивает намного более удобную работу по управлению данных, в больших и малых масштабах, превнося оптимизации процессов ежедневного администрирования, удобства для разработчиков приложений и улучшения безопасности.
«Глобальное сообщество вокруг PostgreSQL 13 демонстрирует высокий уровень коллаборации и ориентированность на развитие возможностей самой совершенной в мире реляционной СУБД с открытым исходным кодом, - говорит Питер Айзентраут (Peter Eisentraut), член основной команды PostgreSQL. – Инновации, которые появляются с каждым релизом, а также репутация надёжности и стабильности являются причиной того, что всё больше людей предпочитают использовать PostgreSQL для своих приложений.»
PostgreSQL, инновационная система управления данными, известная своей надёжностью и производительностью, пользуется плодами 25 лет открытой разработки, осуществляемой глобальным сообществом разработчиков). В результате сегодня во всём мире организации любого размера отдают предпочтение PostgreSQL как СУБД с открытым иходным кодом.
Опираясь на работу в предыдущем релизе PostgreSQL, PostgreSQL 13 теперь может эффективно работать с дублирующимися данными в индексах B-tree, основном виде индексов в база данных (БД). Это снижает количество места, занимаемого индексами B-tree, при этом одновременно улучшая общую производительность запросов.
В PostgreSQL 13 появилась инкрементальная сортировка, при которой уже
отсортированные данные из более раннего шага выполнения запроса могут ускорить
работу сортировки на более позднем шаге. Кроме этого, PostgreSQL 13 теперь
может использовать расширенную статистику,
(доступную посредством использования CREATE STATISTICS
),
чтобы создавать улучшенные планы для запросов с конструкциями OR
и поиском в списках IN
/ANY
.
В PostgreSQL 13 ещё больше типов запросов с агрегацией и наборов для группировки (grouping sets) могут получать выгоду от применения эффективного хэш-агрегирования PostgreSQL, так как запросы с большими объёмами данных при агрегировании не обязательно должны помещаться в памяти. Запросы с секционированными таблицами получили улучшение производительности, так как теперь существует больше вариантов, когда секции могут быть отсечены и когда секции могут быть соединены напрямую.
Очистка (vacuuming) ― это существенная часть PostgreSQL-администрирования, позволяющая БД переиспользовать место после удаления и обновления строк. Данный процесс может приводить к различным трудностям при администрировании, хотя в предыдущих релизах PostgreSQL и была проделана заметная работа по уменьшению накладных расходов процессов очистки.
PostgreSQL 13 улучшает систему очистки за счёт параллелизации очистки индексов. Это ускоряет процесс очистки. Кроме того, администраторы могут использувать новую возможность для тюнинга под конкретные нагрузки, выбирая, какое количество параллельных процессов очистки запускать. Помимо этого улучшения, вставка данных может теперь вызывать запуск процесса автоочистки.
Слоты репликации, которые используются для предотвращения удаления файлов журнала предзаписи (WAL) до того, как они получены репликой, в PostgreSQL 13 могут быть настроены с указанием максимального количества WAL-файлов, которые разрешается сохранить. Это позволяет защититься от ситуаций, когда место на диске закончилось.
PostgreSQL 13 также предоставляет администраторам больше возможностей
мониторинга баз данных, включая статистику использования WAL в выводе команды
EXPLAIN
, прогресс стриминга базовых бэкапов и прогресс работы
команды ANALYZE
. Кроме этого, целостность результата работы
команды pg_basebackup
может быть теперь преверена с помощью новой команды,
pg_verifybackup
.
PostgreSQL 13 облегчает работу с типами данных PostgreSQL из разных источников
данных. Поддержка выражений путей SQL/JSON обогатилась появлением функции
datetime()
,
которая конвертирует валидные значения времени (например, строки ISO 8601) в
«родные» типы PostgreSQL. Помимо этого, функция генерирования UUID v4,
gen_random_uuid()
,
доступна теперь без установки каких-либо расширений.
Система секционирования PostgreSQL стала более гибкой, так как секционированные таблицы стали полностью поддерживать логическую репликацию и BEFORE-триггеры уровня строки.
Синтаксис FETCH FIRST
в PostgreSQL 13 расширился, получив опцию WITH TIES
. Когда
используется WITH TIES
, к результату работы запроса добавляются
такие строки, о которых можно сказать что они, основываясь условии
ORDER BY
, совпадают с последней строкой результирующего набора
строк.
Система расширений PostgreSQL ― ключевой компонент, так как она позволяет
разработчикам расширять функциональность. В предыдущих релизах новые
расширения могли устанавливаться только суперпользователем. Чтобы свойство
расширяемости PostgreSQL сделать ещё более доступным, PostgreSQL 13 вводит
понятие «проверенных (trusted) расширений»:
обычные пользователи теперь могут устанавливать расширения, которые
суперпользователь отметил как «проверенные». Определённые встроенные
расширения отмечены как проверенные изначально; среди них
pgcrypto
,
tablefunc
,
hstore
и другие.
Для работы с приложениями, которым требуются безопасные методы аутентификации,
PostgreSQL 13 разрешает требовать от клиентов
«привязку канала» (channel binding)
при использовании SCRAM-аутентификации,
а обёртка сторонних данных PostgreSQL (postgres_fdw
)
теперь может использовать аутентификацию на основе сертификатов.
PostgreSQL является ведущей СУБД с открытыми исходными текстами, с глобальным сообществом из тысяч пользователей и разработчиков, объединяющим множество компаний и организаций. Проект PostgreSQL базируется на более чем 30-летнем опыте проектирования и разработки, начавшихся в Калифорнийском университете Беркли, и в настоящее время продолжает развиваться беспрецедентными темпами. Богатый набор возможностей PostgreSQL не только не уступает ведущим коммерческим СУБД, но и превосходит их развитой функциональностью, расширяемостью, безопасностью и стабильностью.
PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. Built on over 30 years of engineering, starting at the University of California, Berkeley, PostgreSQL has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.
Learn more about PostgreSQL and participate in our community at PostgreSQL.org.
For explanations of the above features and others, please see the following resources:
There are several ways you can download PostgreSQL 13, including:
Other tools and extensions are available on the PostgreSQL Extension Network.
PostgreSQL 13 comes with HTML documentation HTML documentation as well as man pages, and you can also browse the documentation online in both HTML and PDF formats.
PostgreSQL uses the PostgreSQL License, a BSD-like "permissive" license. This OSI-certified license is widely appreciated as flexible and business-friendly, since it does not restrict the use of PostgreSQL with commercial and proprietary applications. Together with multi-company support and public ownership of the code, our license makes PostgreSQL very popular with vendors wanting to embed a database in their own products without fear of fees, vendor lock-in, or changes in licensing terms.
Website
All logos are available for modification and redistribution under The PostgreSQL Licence. The PostgreSQL name and logo are trademarks of The PostgreSQL Community Association of Canada.
PostgreSQL enjoys the support of numerous companies, who sponsor developers, provide hosting resources, and give us financial support. See our sponsors page for some of these project supporters.
There is also a large community of companies offering PostgreSQL Support , from individual consultants to multinational companies.
If you wish to make a financial contribution to the PostgreSQL Global Development Group or one of the recognized community non-profit organizations, please visit our donations page.