Објавување на PostgreSQL 12

Тимот на PostgreSQL го објави објавувањето на PostgreSQL 12, најновата верзија на системот за управување со релациона база на податоци со отворен код.
PostgreSQL 12 значително ги подобри перформансите на барањето - особено кога работите со големи количини на податоци, а исто така го оптимизираше користењето на просторот на дискот воопшто.

Новите карактеристики вклучуваат:

  • имплементација на јазикот за барање JSON Path (најважниот дел од стандардот SQL/JSON);
  • оптимизација на извршување на заеднички табели изрази (WITH);
  • поддршка за генерирани колони

Заедницата, исто така, продолжува да работи на проширување и доверливост на PostgreSQL, развивајќи поддршка за интернационализација, способности за автентикација и обезбедувајќи полесни начини за администрирање на системот.

Ова издание вклучува имплементација на интерфејс за приклучливи мотори за складирање, што сега им овозможува на програмерите да креираат сопствени методи за складирање податоци.

Подобрување на перформансите

PostgreSQL 12 вклучува значителни подобрувања во перформансите и одржувањето за системите за индексирање и партиционирање.

Индексите на Б-дрвото, стандардниот тип на индексирање во PostgreSQL, се оптимизирани во верзијата 12 за оптоварувања кои вклучуваат чести модификации на индексите. Користењето на реперот TPC-C за PostgreSQL 12 покажа просечно 40% намалување на користењето простор и севкупно зголемување на перформансите на барањето.

Барањата против поделени табели добија забележителни подобрувања, особено за табелите што се состојат од илјадници партиции кои бараат работа со само ограничени делови од низите на податоци. Подобрени се перформансите за додавање податоци на партиционирани табели со помош на INSERT и COPY, како и можноста за прикачување нова партиција без блокирање прашања.

PostgreSQL 12 направи дополнителни подобрувања во индексирањето кои влијаат на севкупните перформанси, вклучувајќи:

  • намалени трошоци при генерирање WAL за типови на индекси GiST, GIN и SP-GiST;
  • способноста да се создадат таканаречени индекси за покривање (INCLUDE клаузула) на индексите GiST;
  • способност за извршување на прашања за „најблискиот сосед“ (пребарување k-NN) со користење на операторот за растојание () и користење на индекси SP-GiST;
  • поддршка за собирање статистики за најчестите вредности (MCV) со помош на CREATE STATISTICS, што помага да се добијат подобри планови за пребарување кога се користат колони чии вредности се нерамномерно распределени.

Компилацијата JIT со помош на LLVM, воведена во PostgreSQL 11, сега е стандардно овозможена. Компилацијата JIT ги подобрува перформансите при работа со изрази во WHERE клаузули, целни листи, агрегати и некои внатрешни операции. Достапно е ако сте компајлирале PostgreSQL со LLVM или користите пакет PostgreSQL што е изграден со овозможен LLVM.

Подобрувања на јазичните способности на SQL и стандардна компатибилност

PostgreSQL 12 ја воведе можноста за барање JSON документи со помош на изрази на патеката JSON дефинирани во стандардот SQL/JSON. Ваквите барања може да ги искористат постоечките механизми за индексирање за документите складирани во JSONB формат за ефикасно враќање на податоците.

Вообичаените изрази на табелите, познати и како WITH queries, сега можат автоматски да се извршат со помош на замена во PostgreSQL 12, што пак може да помогне да се подобрат перформансите на многу постоечки барања. Во новата верзија, заменскиот дел од барањето СО може да се изврши само ако не е рекурзивен, нема несакани ефекти и е референциран само еднаш во следен дел од барањето.

PostgreSQL 12 воведува поддршка за „генерирани колони“. Опишан во стандардот SQL, овој тип на колона пресметува вредност врз основа на содржината на другите колони во истата табела. Во оваа верзија, PostgreSQL поддржува „зачувани генерирани колони“, каде што пресметаната вредност се зачувува на дискот.

Интернационализација

PostgreSQL 12 ја проширува поддршката за ICU споредувањата дозволувајќи им на корисниците да дефинираат „недетерминистички споредби“ кои можат, на пример, да дозволат споредби кои не се чувствителни на големи букви или акценти.

Автентикација

PostgreSQL ја проширува својата поддршка за силни методи за автентикација со неколку подобрувања кои обезбедуваат дополнителна безбедност и функционалност. Ова издание воведува шифрирање од страна на клиентот и од страна на серверот за автентикација преку GSSAPI интерфејси, како и можност за PostgreSQL да открива LDAP сервери кога PostgreSQL се компајлира со OpenLDAP.

Дополнително, PostgreSQL 12 сега поддржува опција за автентикација со повеќе фактори. Серверот PostgreSQL сега може да бара од клиентот да обезбеди валиден SSL сертификат со соодветното корисничко име користејќи clientcert=verify-full, и да го комбинира ова со посебен услов за метод за автентикација (на пр. scram-sha-256).

Администрација

PostgreSQL 12 ја воведе можноста за обновување на неблокирачки индекси користејќи ја командата REINDEX CONCURRENTLY. Ова им овозможува на корисниците да избегнат прекин на DBMS за време на долги обновувања на индекси.

Дополнително, во PostgreSQL 12, можете да овозможите или оневозможите контролни суми на страници во кластерот за исклучување користејќи ја командата pg_checksums. Претходно, контролните суми на страници, функција која помага да се потврди интегритетот на податоците зачувани на дискот, можеше да се овозможи само кога кластерот PostgreSQL беше иницијализиран со помош на initdb.

Извор: linux.org.ru

Додадете коментар