PostgreSQL 12 DBMS-eldono

Post jaro da evoluo eldonita nova stabila branĉo de la DBMS PostgreSQL 12. Ĝisdatigoj por la nova branĉo eliros dum kvin jaroj ĝis novembro 2024.

Ĉefa novigoj:

  • Aldonita subteno por "generitaj kolumnoj", kies valoro estas kalkulita surbaze de esprimo kovranta la valorojn de aliaj kolumnoj en la sama tabelo (simila al vidoj, sed por individuaj kolumnoj). La generitaj kolumnoj povas esti de du tipoj - stokitaj kaj virtualaj. En la unua kazo, la valoro estas kalkulita kiam datumoj estas aldonitaj aŭ ŝanĝitaj, kaj en la dua kazo, la valoro estas kalkulita sur ĉiu legado surbaze de la aktuala stato de aliaj kolumnoj. Nuntempe, PostgreSQL nur subtenas stokitajn generitajn kolumnojn;
  • Aldonis la kapablon pridemandi datumojn de JSON-dokumentoj uzante Vojeesprimoj, rememoriga XPath kaj difinita en la SQL/JSON-normo. Ekzistantaj indeksaj mekanismoj estas uzataj por plibonigi la efikecon de prilaborado de tiaj esprimoj por dokumentoj stokitaj en la formato JSONB;
  • Ebligita defaŭlte estas la uzo de JIT (Just-in-Time) kompililo bazita sur LLVM-evoluoj por akceli la ekzekuton de kelkaj esprimoj dum SQL-demanda prilaborado. Ekzemple, JIT estas uzata por akceli la ekzekuton de esprimoj ene de WHERE-blokoj, cellistoj, entutaj esprimoj kaj iuj internaj operacioj;
  • Indeksa rendimento estis signife plibonigita. B-arbaj indeksoj estas optimumigitaj por labori en medioj, kie indeksoj ŝanĝiĝas ofte - TPC-C-testoj montras ĝeneralan pliiĝon en rendimento kaj averaĝan redukton de konsumo de diskspaco de 40%. Reduktita superkompeto dum generado de antaŭskriba protokolo (WAL) por indekstipoj GiST, GIN kaj SP-GiST. Por GiST, la kapablo krei envolvaĵindeksojn (per la esprimo INCLUDE) kiuj inkluzivas pliajn kolumnojn estis aldonita. En funkciado KREU STATISTIKO Provizas subtenon por Plej Komuna Valoro (MCV) statistikoj por generi pli optimumajn demandplanojn kiam uzado de malegale distribuitaj kolumnoj;
  • La dispartigo efektivigo estas optimumigita por demandoj kiuj ampleksas tablojn kun miloj da sekcioj, sed estas limigitaj al selektado de limigita subaro de datenoj. La agado de aldono de datumoj al dividitaj tabeloj per INSERT kaj KOPIAJ operacioj estis pliigita, kaj ankaŭ eblas aldoni novajn sekciojn per "ALTER TABLE ATTACH PARTITION" sen blokado de demanda ekzekuto;
  • Aldonita subteno por aŭtomata enlinia vastiĝo de ĝeneraligitaj tabelesprimoj (Ofta Tabelesprimo, CTE) kiuj permesas la uzon de provizoraj nomitaj rezultaroj specifitaj per la WITH-deklaro. Enlinia deplojo povas plibonigi la efikecon de la plej multaj demandoj, sed estas nuntempe nur uzita por ne-rekursiemaj CTEoj;
  • Aldonita subteno nedeterminismaj propraĵoj de la loka "Koligado", kiu ebligas al vi agordi ordigajn regulojn kaj kongruajn metodojn konsiderante la signifon de signoj (ekzemple, kiam vi ordigas ciferecajn valorojn, la ĉeeston de minuso kaj punkto antaŭ nombro kaj malsamaj tipoj). de literumo estas konsiderata, kaj dum komparo, la kazo de signoj kaj la ĉeesto de supersigno ne estas konsiderata);
  • Aldonita subteno por plurfaktora kliento-aŭtentikigo, en kiu en pg_hba.conf vi povas kombini SSL-atestil-aŭtentikigon (clientcert=verify-full) kun plia aŭtentikigmetodo kiel scram-sha-256 por aŭtentigo;
  • Aldonita subteno por ĉifrado de la komunika kanalo dum aŭtentikigo per GSSAPI, kaj ĉe la klienta flanko kaj ĉe la servilo;
  • Aldonita subteno por determini LDAP-servilojn bazitajn sur "DNS SRV" rekordoj se PostgreSQL estas konstruita kun OpenLDAP;
  • Aldonita operacio "REINDEXIS SAMUNE» rekonstrui indeksojn sen bloki skribajn operaciojn al la indekso;
  • Teamo aldonis pg_ĉeksumoj, kiu ebligas al vi ebligi aŭ malŝalti kontrolon de kontrolsumoj de datumpaĝoj por ekzistanta datumbazo (antaŭe ĉi tiu operacio estis subtenata nur dum datumbaza inicialigo);
  • Provizita eligo de progresindikilo por operacioj KREU INDEX, REINDEX, CLUSTER, VACUUM FULL kaj pg_checksums;
  • Aldonita komando "KREU ALIRMETODO» por konekti prizorgantojn por novaj tablostokaj metodoj optimumigitaj por diversaj specifaj taskoj. Nuntempe la nura enkonstruita tabelalirmetodo estas "heap";
  • La agorda dosiero recovery.conf estis kunfandita kun postgresql.conf. Kiel indikiloj de transiro al la stato de reakiro post fiasko, nun devas esti uzu recovery.signal kaj standby.signal dosierojn.

fonto: opennet.ru

Aldoni komenton