PostgreSQL 12 -julkaisu

Vuoden kehitystyön jälkeen julkaistu PostgreSQL 12 DBMS:n uusi vakaa haara Päivitykset uuteen haaraan menee ulos viiden vuoden ajan marraskuuhun 2024 saakka.

Pääasiallinen innovaatioita:

  • Lisätty tuki kohteelle "luodut sarakkeet", jonka arvo lasketaan lausekkeen perusteella, joka kattaa saman taulukon muiden sarakkeiden arvot (samanlainen kuin näkymät, mutta yksittäisille sarakkeille). Luodut sarakkeet voivat olla kahdenlaisia ​​- tallennettuja ja virtuaalisia. Ensimmäisessä tapauksessa arvo lasketaan tietojen lisäys- tai muuttamishetkellä, ja toisessa tapauksessa arvo lasketaan jokaisella lukukerralla muiden sarakkeiden nykyisen tilan perusteella. Tällä hetkellä PostgreSQL tukee vain tallennettuja luotuja sarakkeita;
  • Lisätty mahdollisuus tiedustella tietoja JSON-asiakirjoista käyttämällä Polkulausekkeet, mieleentuova XPath ja määritelty SQL/JSON-standardissa. Olemassa olevia indeksointimekanismeja käytetään parantamaan tällaisten lausekkeiden käsittelyn tehokkuutta JSONB-muotoon tallennettujen asiakirjojen osalta.
  • Oletusarvoisesti käytössä on LLVM-kehitykseen perustuvan JIT-kääntäjän (Just-in-Time) käyttö nopeuttamaan joidenkin lausekkeiden suorittamista SQL-kyselyn käsittelyn aikana. Esimerkiksi JIT:tä käytetään nopeuttamaan lausekkeiden suorittamista WHERE-lohkoissa, kohdeluetteloissa, koostelausekkeissa ja joissakin sisäisissä operaatioissa;
  • Indeksoinnin suorituskyky on parantunut merkittävästi. B-puuindeksit on optimoitu toimimaan ympäristöissä, joissa indeksit vaihtuvat usein – TPC-C-testit osoittavat yleisen suorituskyvyn parantuneen ja levytilan kulutuksen pienenevän keskimäärin 40 %. Pienempi lisäkustannus, kun luodaan WAL-kirjoitusloki GiST-, GIN- ja SP-GiST-indeksityypeille. GiST:lle on lisätty mahdollisuus luoda kääreindeksejä (INCLUDE-lausekkeen kautta), jotka sisältävät lisäsarakkeita. Toiminnassa LUO TILASTOTIETOJA Tarjoaa tuen yleisimmät arvot (MCV) -tilastoihin optimaalisempien kyselysuunnitelmien luomiseksi käytettäessä epätasaisesti jakautuneita sarakkeita;
  • Osiointitoteutus on optimoitu kyselyille, jotka kattavat tuhansia osioita sisältäviä taulukoita, mutta rajoittuvat vain rajoitetun tiedon osajoukon valitsemiseen. Tietojen lisääminen osioituihin taulukoihin INSERT- ja COPY-operaatioilla on parantunut, ja on myös mahdollista lisätä uusia osioita "ALTER TABLE ATTACH PARTITION" -toiminnolla ilman kyselyn suorittamisen estämistä;
  • Lisätty tuki yleistettyjen taulukkolausekkeiden automaattiselle rivin laajennukselle (Yhteinen taulukkolauseke, CTE), jotka sallivat WITH-käskyllä ​​määritettyjen väliaikaisten nimettyjen tulosjoukkojen käytön. Inline-käyttöönotto voi parantaa useimpien kyselyjen suorituskykyä, mutta sitä käytetään tällä hetkellä vain ei-rekursiivisissa CTE:issä.
  • Lisätty tuki ei-deterministinen "Lajittelu"-alueen ominaisuudet, jonka avulla voit asettaa lajittelusääntöjä ja sovitusmenetelmiä ottaen huomioon merkkien merkityksen (esimerkiksi kun lajitellaan digitaalisia arvoja, miinusmerkin ja pisteen esiintyminen numeron edessä ja eri tyypit oikeinkirjoitus huomioidaan, ja vertailussa kirjainten ja aksenttimerkin esiintymistä ei oteta huomioon) ;
  • Lisätty tuki monitekijäiselle asiakastodennuksen, jossa pg_hba.conf-tiedostossa voit yhdistää SSL-varmenteen todennuksen (clientcert=verify-full) ylimääräiseen todennusmenetelmään, kuten scram-sha-256 todennusta varten;
  • Lisätty tuki viestintäkanavan salaukselle todennuksen kautta GSSAPI, sekä asiakas- että palvelinpuolella;
  • Lisätty tuki LDAP-palvelimien määrittämiseen "DNS SRV" -tietueiden perusteella, jos PostgreSQL on rakennettu OpenLDAP:n kanssa;
  • Lisätty toiminto "UUDELLEENINDEKSOINTI SAMANAIKAISESTI» rakentaa indeksit uudelleen estämättä kirjoitustoimintoja indeksiin;
  • Lisätty komento pg_checksums, jonka avulla voit ottaa käyttöön tai poistaa käytöstä olemassa olevan tietokannan tietosivujen tarkistussummien tarkistamisen (aiemmin tätä toimintoa tuettiin vain tietokannan alustuksen aikana);
  • Edistymisilmaisimen tulos toimintoille CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL ja pg_checksums;
  • Lisätty komento "LUO KÄYTTÖTAPA» yhdistää käsittelijät uusille taulukkotallennusmenetelmille, jotka on optimoitu erilaisiin erityistehtäviin. Tällä hetkellä ainoa sisäänrakennettu taulukkokäyttötapa on "kasa";
  • Recovery.conf-määritystiedosto on yhdistetty postgresql.conf-tiedostoon. Nyt indikaattoreina siirtymisestä toipumistilaan epäonnistumisen jälkeen on oltava käytä recovery.signal- ja standby.signal-tiedostoja.

Lähde: opennet.ru

Lisää kommentti