Kutolewa kwa PostgreSQL 14 DBMS

Baada ya mwaka wa maendeleo, tawi jipya thabiti la PostgreSQL 14 DBMS limechapishwa. Masasisho ya tawi jipya yatatolewa kwa muda wa miaka mitano hadi Novemba 2026.

Ubunifu kuu:

  • Usaidizi ulioongezwa wa kufikia data ya JSON kwa kutumia vielezi-kama safu: CHAGUA ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; CHAGUA * KUTOKA mtihani WAPI maelezo['sifa']['size'] = '"kati"';

    Sintaksia sawa inatekelezwa kwa data ya ufunguo/thamani iliyotolewa na aina ya hstore. Sintaksia hii hapo awali ilitekelezwa kwa kutumia mfumo wa ulimwengu wote, ambao katika siku zijazo unaweza kutumika kwa aina zingine. Mfano wa aina ya hstore: WEKA KATIKA THAMANI za mytable ('a=>b, c=>d'); CHAGUA h['a'] KUTOKA kwenye mytable; SASISHA mytable SET h['c'] = 'mpya';

  • Familia ya aina za kubainisha masafa imepanuliwa kwa aina mpya za "multirange", ambayo hukuruhusu kubainisha orodha zilizopangwa za safu zisizopishana za thamani. Mbali na kila aina iliyopo, aina yake ya multirange inapendekezwa, kwa mfano, aina ya "int4range" inalingana na "int4multirange", na aina "daterange" inalingana na "datemultirange". Matumizi ya aina mpya hurahisisha uundaji wa hoja zinazodhibiti mfuatano changamano wa safu. CHAGUA '{[3,7), [8,9)}'::int4multirange; CHAGUA nambamultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Uboreshaji umefanywa ili kuboresha utendakazi wa mifumo ya upakiaji wa juu kusindika idadi kubwa ya viunganisho. Katika vipimo vingine, ongezeko la mara mbili la utendaji linazingatiwa.
  • Ufanisi wa faharasa za miti B umeboreshwa na tatizo la ukuaji wa faharasa wakati majedwali yanasasishwa mara kwa mara limetatuliwa.
  • Msaada ulioongezwa kwa upande wa mteja (unaotekelezwa katika kiwango cha libpq) cha upitishaji wa maombi ya bomba, ambayo hukuruhusu kuharakisha sana hali za hifadhidata zinazohusiana na kufanya idadi kubwa ya shughuli ndogo za uandishi (INGIZA/SASISHA/FUTA) kwa kutuma ombi linalofuata bila kungoja matokeo ya lile lililotangulia. Hali pia husaidia kuharakisha kazi kwenye miunganisho na ucheleweshaji wa utoaji wa pakiti ndefu.
  • Uwezo ulioimarishwa wa usanidi uliosambazwa unaohusisha seva nyingi za PostgreSQL. Katika utekelezaji wa urudufishaji wa kimantiki, sasa inakuwa inawezekana kutuma shughuli zinazoendelea katika hali ya utiririshaji, ambayo inaweza kuboresha kwa kiasi kikubwa utendaji wa urudufishaji wa shughuli kubwa. Kwa kuongeza, utatuzi wa kimantiki wa data iliyopokelewa wakati wa urudufishaji wa kimantiki umeboreshwa.
  • Utaratibu wa kuunganisha jedwali za nje Kifunga Data za Kigeni (postgres_fdw) umeongeza usaidizi wa uchakataji wa hoja sambamba, ambao unatumika tu wakati wa kuunganisha kwenye seva zingine za PostgreSQL. postgres_fdw pia inaongeza usaidizi wa kuongeza data kwenye majedwali ya nje katika hali ya kundi na uwezo wa kuagiza jedwali zilizogawanywa kwa kubainisha maagizo ya "IMPORT FOREIGN SCHEMA".
  • Uboreshaji umefanywa kwa utekelezaji wa operesheni ya VACUUM (mkusanyiko wa takataka na ufungaji wa hifadhi ya disk). Hali ya kusafisha dharura imeongezwa ambayo huruka shughuli zisizo za lazima za kusafisha ikiwa masharti ya kufunika kwa kitambulisho cha muamala yataundwa. Imepunguzwa juu wakati wa kuchakata faharasa katika umbizo la B-Tree. Utekelezaji wa operesheni ya "ANALYZE", ambayo inakusanya takwimu kuhusu uendeshaji wa hifadhidata, imeharakishwa kwa kiasi kikubwa.
  • Imeongeza uwezo wa kusanidi mbinu ya kubana inayotumika katika mfumo wa TOAST, ambao unawajibika kwa kuhifadhi data kubwa, kama vile vizuizi vya maandishi au maelezo ya kijiometri. Kando na mbinu ya kubana pglz, TOAST sasa inaweza kutumia algoriti ya LZ4.
  • Zana za ufuatiliaji wa uendeshaji wa DBMS zimepanuliwa. Mionekano imeongezwa ili kufuatilia maendeleo ya amri za COPY (pg_stat_progress_copy), takwimu kuhusu nafasi za kurudia (pg_stat_replication_slots) na shughuli zinazohusiana na kumbukumbu ya miamala ya WAL (pg_stat_wal). Kitendakazi cha compute_query_id kimeongezwa, ambacho huwezesha mifumo ndogo mbalimbali, kama vile pg_stat_activity na EXPLAIN VERBOSE, kufuatilia maombi kwa kukabidhi kitambulisho cha kipekee kwa kila ombi.
  • Uboreshaji umeongezwa kwa mpangaji hoja ili kuboresha uchakataji sawia wa hoja na kuboresha utendakazi wa utendakazi wa wakati mmoja wa shughuli za kuchanganua rekodi zinazofuatana, utekelezaji sambamba wa hoja katika PL/pgSQL kwa kutumia amri ya β€œRETURN QUERY” na utekelezaji sambamba wa hoja katika β€œ RUSHA MTAZAMO WENYE MALI”. Ili kuboresha utendakazi wa viunganishi vilivyowekwa kwenye mzunguko (jiunge), usaidizi wa akiba ya ziada umetekelezwa.
  • Takwimu za kina sasa zinaweza kutumika kuboresha misemo, na upangaji wa ziada sasa unaweza kutumika kuboresha vitendaji vya dirisha.
  • Taratibu zilizohifadhiwa zinazokuruhusu kudhibiti miamala katika vizuizi vya msimbo sasa zinaauni kufafanua data ya kurejesha kwa kutumia vigezo vya "OUT".
  • Imeongeza kitendakazi cha date_bin kwa thamani za muhuri wa muda kulingana na muda uliobainishwa. CHAGUA tarehe_bin('dakika 15', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Umeongeza usemi wa SEARCH na CYCLE uliofafanuliwa katika kiwango cha SQL ili kurahisisha kuagiza na kutambua mizunguko katika Visemi vya Jedwali vinavyojirudia (CTE). KWA RECURSIVE search_tree(kitambulisho, kiungo, data) AS ( CHAGUA t.id, t.link, t.data KUTOKA mti t MUUNGANO WOTE CHAGUA t.id, t.link, t.data KUTOKA kwa mti t, search_tree st WAPI t. id = st.link ) TAFUTA KINA KWANZA KWA id WEKA ordercol CHAGUA * KUTOKA search_tree AGIZO KWA ordercol;
  • Katika matumizi ya psql, ukamilishaji otomatiki wa amri na tabo umeboreshwa, uwezo wa kuonyesha hoja za kazi umeongezwa kwa amri ya "\ df", na takwimu zilizoonyeshwa zimepanuliwa kwa amri "\ dX".
  • Inawezekana kuwapa watumiaji haki za kusoma pekee au kuandika pekee. Haki zinaweza kuwekwa kwenye majedwali, mionekano na michoro mahususi kwa kutumia pg_read_all_data na pg_write_all_data majukumu yaliyoainishwa awali. GRANT pg_soma_data_yote KWA mtumiaji1;
  • Usakinishaji mpya chaguomsingi kwa uthibitishaji wa nenosiri kwa kutumia SCRAM-SHA-256 badala ya md5 (kigezo cha "password_encryption" wakati wa kuzalisha postgresql.conf sasa kimewekwa kuwa 'scram-sha-256').

Chanzo: opennet.ru

Kuongeza maoni