This page in: Burmese / Chinese / English / French / German / Hebrew / Indonesian / Italian / Japanese / Korean / Portuguese / Russian / Spanish / Thai / Vietnamese

PostgreSQL 11 Press Kit - Russian

Contents

Original Press Release

18 октября 2018 - Всемирная группа разработки PostgreSQL объявила сегодня о выходе PostgreSQL 11, новейшей версии лидирующей реляционной системы управления базами данных (СУБД) с открытым исходным кодом.

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

  • значительно улучшена система секционирования таблиц,
  • появились хранимые процедуры, поддерживающие управление транзакциями,
  • улучшен параллелизм выполнения запросов и появились возможности параллелизации выполнения DDL-команд,
  • впервые представлены возможности JIT-компиляции для ускорения обработки выражений в запросах.

«При работе над PostgreSQL 11 наше сообщество разработчиков сфокусировалось на добалении функций, которые улучшают возможности PostgreSQL по управлению очень большими базами данных», — говорит Брюс Момджан (Bruce Momjian), член основной команды Всемирной группы разработки PostgreSQL. — «PostgreSQL уже зарекомендовал себя как высокопроизводительная система для транзакционных нагрузок, теперь же, с появлением PostgreSQL 11, разработчикам становится ещё проще эксплуатировать и масштабировать приложения класса Big Data».

Используя плоды более чем 20 лет открытой разработки, PostgreSQL сегодня — система, которую выбирают разработчики во всём мире. Проект продолжает получать признание в индустрии — недавно PostgreSQL получил звание «СУБД 2017» от проекта DB-Engines и был отмечен в SD Times 2018 100.

PostgreSQL 11 — первый базовый релиз со времени выхода PostgreSQL 10 5-го октября 2017. Следующее обновление PostgreSQL 11, содержащее исправления багов, будет PostgreSQL 11.1, а следующий базовый релиз, включающий новые возможности, — PostgreSQL 12.

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

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

Для упрощения управления секциями в PostgreSQL 11 вводится понятие «секции по умолчанию», которая получает данные, не удовлетворяющие условиям ни одной из секций. Также появилась возможность создавать первичные ключи, внешние ключи, индексы и триггеры, которые автоматически распространяются на все секции. И наконец, PostgreSQL 11 поддерживает автоматическое перемещение строк в соответствующую секцию, когда данные в строке изменяются.

В PostgreSQL 11 улучшена производительность запросов, требующих чтения данных из секций, за счёт новой стратегии исключения секций. Кроме этого, PostgreSQL 11 поддерживает популярную возможность "upsert" для секционированных таблиц, что помогает пользователям упрощать код приложений и снижать сетевые издержки при работе с данными в БД.

Поддержка транзакций в хранимых процедурах

Возможность создавать функции, определяемые пользователем, существует в PostgreSQL более 20 лет, но до PostgreSQL 11 в таких функциях невозможно было управлять транзакциями. В PostgreSQL 11 появилась возможность создавать хранимые процедуры, внутри которых поддерживается полноценное управление транзакциями, что позволяет разработчикам создавать более развитые серверные приложения — например, те, в которых требуется массивная обработка данных.

SQL-процедуры могут быть созданы за счёт использования команды CREATE PROCEDURE, а вызваны с помощью команды CALL. Поддерживается использование следующих языков для написания процедур: PL/pgSQL, PL/Perl, PL/Python и PL/Tcl.

Улучшенные возможности параллелизации выполнения запросов

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

В PostgreSQL 11 добавлена поддержка параллелизма для нескольких DDL-команд, в частности, такую поддержку получило создание btree-индексов, осуществляемое при выполненнии стандартных команд CREATE INDEX. Несколько DDL-команд, которые создают таблицы или материализованные представления на основе выполнения запросов, теперь тоже поддерживают паралеллизацию — среди них CREATE TABLE .. AS, SELECT INTO и CREATE MATERIALIZED VIEW.

JIT-компиляция (Just-in-Time) для выражений

В PostgreSQL 11 появилась поддержка JIT-компиляции (Just-In-Time) для ускорения некоторых определённых выражений во время исполнения запросов. JIT-компиляция выражения для PostgreSQL использует проект LLVM, чтобы ускорять выполнение выражений в предложении WHERE, целевых списках, агрегатах, проекциях, а также в некоторых внутренних операциях.

Чтобы воспользоваться преимуществами JIT-компиляции, необходимо установить зависимости LLVM и включить поддержку JIT-компиляции либо в конфигурационном файле PostgreSQL (jit = on), либо в PostgreSQL-сессии (выполнив SET jit = on).

Различные улучшения для пользователей

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

  • Для ALTER TABLE .. ADD COLUMN .. DEFAULT .. со значением по умолчанию, не являющимся NULL, теперь не производится полное обновление таблицы, что даёт чрезвычайное ускорение выполнения данной команды для больших таблиц.
  • «Покрывающие индексы», позволяющие пользователю добавлять столбцы в определение индекса с помощью использования предложения INCLUDE, что помогает получать «сканирование только индекса» (index-only scans) в планах запросов — отметим, что так можно включать в индекс столбцы с типами данных, для которых нет поддержки btree-индексирования.
  • Дополнительные возможности для работы с оконными функциями, включая поддержку RANGE при использовании PRECEDING/FOLLOWING, GROUPS и исключения фреймов.
  • Чтобы выйти из инструмента командной строки PostgreSQL (psql) теперь можно использовать ключевые слова quit и exit.

Полный список новых возможностей, включённых в данный релиз, можно найти по ссылке (англ.):

https://www.postgresql.org/docs/11/release-11.html

О PostgreSQL

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

More About the Features

For explanations of the above features and others, please see the following resources:

Where to Download

There are several ways you can download PostgreSQL 11, including:

Other tools and extensions are available on the PostgreSQL Extension Network.

Documentation

PostgreSQL 11 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

Licence

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.

Contacts

Website

Email

Images and Logos

PostgreSQL Logo

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.

Corporate Support

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.