Ukukhutshwa kwe-PostgreSQL 14 DBMS

Emva konyaka wophuhliso, isebe elitsha elizinzileyo le-PostgreSQL 14 DBMS lishicilelwe. Uhlaziyo lwesebe elitsha luya kukhutshwa kwiminyaka emihlanu kude kube nguNovemba ka-2026.

Iinguqulelo eziphambili:

  • Inkxaso eyongeziweyo yokufikelela kwidatha ye-JSON usebenzisa iintetho ezifana noluhlu: KHETHA ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; KHETHA * UKUSUKA kuvavanyo APHO iinkcukacha['impawu']['ubungakanani'] = '"phakathi"';

    Isivakalisi esifanayo siphunyezwa kwisitshixo/idatha yexabiso enikwe ludidi lwe-hstore. Le syntax yaqalwa yaphunyezwa kusetyenziswa isakhelo sehlabathi, esinokuthi kwixesha elizayo sisetyenziswe kwezinye iindidi. Umzekelo wohlobo lwe-hstore: FAKA KWIIMVELISO zemytable ('a=>b, c=>d'); KHETHA h['a'] KWItablet; HLAZIYA ISETI yemytable h['c'] = 'entsha';

  • Usapho lweentlobo zokuchaza uluhlu lwandisiwe ngeentlobo ezintsha "zeentlobo ezininzi", ezikuvumela ukuba ukhankanye uluhlu olucwangcisiweyo loluhlu olungadibaniyo lwamaxabiso. Ukongeza kuluhlu ngalunye olukhoyo, uhlobo lwayo lwe-multirange lucetywayo, umzekelo, uhlobo "int4range" luhambelana ne "int4multirange", kwaye uhlobo "daterange" luhambelana ne "datemultirange". Ukusetyenziswa kweentlobo ezintsha kwenza lula uyilo lwemibuzo elawula ukulandelelana okuntsokothileyo koluhlu. KHETHA '{[3,7), [8,9)}'::int4multirange; KHETHA inani lenani (numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Ukulungelelaniswa kwenzelwe ukuphucula ukusebenza kweenkqubo zomthwalo ophezulu ukucubungula inani elikhulu lokudibanisa. Kwezinye iimvavanyo, ukunyuka komsebenzi kubonwa kabini.
  • Ukusebenza kakuhle kwezalathisi ze-B-tree kuye kwaphuculwa kwaye ingxaki yokukhula kwesalathisi xa iitheyibhile zihlaziywa rhoqo iye yasonjululwa.
  • Inkxaso eyongeziweyo yecala lomxhasi (iphunyezwe kwinqanaba le-libpq) indlela yokuhanjiswa kwemibhobho yezicelo, ekuvumela ukuba ukhawulezise kakhulu iimeko zesiseko sedatha ezinxulumene nokwenza inani elikhulu lemisebenzi emincinci yokubhala (INSERT/UPDATE/CIMA) ngokuthumela isicelo esilandelayo ngaphandle kokulinda isiphumo sangaphambili. Imowudi ikwanceda ukukhawulezisa umsebenzi kuqhagamshelo kunye nokulibaziseka kokuhanjiswa kwepakethi ende.
  • Izakhono eziphuculweyo zolungelelwaniso olusasazwayo olubandakanya iiseva ezininzi zePostgreSQL. Ekuphunyezweni kokuphindaphinda okunengqiqo, ngoku kunokwenzeka ukuba kuthunyelwe kwiintengiselwano zemowudi yostrimisho kwinkqubo yokuphunyezwa, enokuphucula kakhulu ukusebenza kokuphindaphinda kweentengiselwano ezinkulu. Ukongeza, ukucazulula ngengqiqo kwedatha efunyenwe ngexesha lokuphindaphinda okunengqiqo kuye kwaphuculwa.
  • Indlela yokudibanisa iitheyibhile zangaphandle I-Wrapper yeDatha yaNgaphandle (postgres_fdw) yongeze inkxaso yokusetyenzwa kwemibuzo ehambelanayo, okwangoku esebenza kuphela xa uqhagamshelwa kwezinye iiseva zePostgreSQL. I-postgres_fdw yongeza kwakhona inkxaso yokongeza idatha kwiitafile zangaphandle kwimodi ye-batch kunye nokukwazi ukungenisa iitheyibhile ezahluliweyo ngokucacisa umyalelo othi "IMPORT FOREIGN SCHEMA".
  • Ukulungelelaniswa kwenzelwe ukuphunyezwa komsebenzi we-VACUUM (ukuqokelela inkunkuma kunye nokupakishwa kokugcinwa kwediski). Imodi yokucoca kaxakeka yongeziweyo ukuba itsibe imisebenzi yokucoca engabalulekanga ukuba iimeko ze-ID zokugoqa zenziwe. I-overhead ecuthiweyo xa kusetyenzwa izalathisi kwi-B-Tree format. Ukuphunyezwa komsebenzi othi "HLALUTYA", oqokelela izibalo malunga nokusebenza kwedatha, uye wakhawuleza kakhulu.
  • Ukongezwa ukukwazi ukuqwalasela indlela yokunyathela esetyenziswe kwinkqubo ye-TOAST, ejongene nokugcina idatha enkulu, njengeebhloko zetekisi okanye ulwazi lwejometri. Ukongeza kwindlela yokunyanzeliswa kwe-pglz, i-TOAST ngoku ingasebenzisa i-algorithm ye-LZ4.
  • Izixhobo zokubeka iliso ekusebenzeni kwe-DBMS zandisiwe. Iimbono ezongeziweyo ukulandelela inkqubela phambili yemiyalelo ye-COPY (pg_stat_progress_copy), izibalo malunga neendawo zokuphindaphinda (pg_stat_replication_slots) kunye nomsebenzi onxulumene nelog yentengiselwano ye-WAL (pg_stat_wal). Umsebenzi we compute_query_id wongeziwe, owenza ukuba izixokelelwano ezahlukeneyo, ezinje pg_stat_activity kunye CHAZA VERBOSE, ukulandelela izicelo ngokunikezela ngesazisi esisodwa kwisicelo ngasinye.
  • Ulungelelwaniso longezwe kwisicwangcisi sombuzo ukuphucula ukusetyenzwa kwemibuzo kunye nokuphucula ukusebenza ngaxeshanye kokulandelelana kwerekhodi yokuskena imisebenzi, ukuphunyezwa okufanayo kwemibuzo kwi-PL/pgSQL usebenzisa i-“RETURN QUERY” umyalelo, kunye nokusetyenziswa okufanayo kwemibuzo kwi-“ HLAZIYA UMBONO OBONISWAYO”. Ukuphucula ukusebenza kwe-cyclic nested merges (join), inkxaso ye-caching eyongezelelweyo iphunyeziwe.
  • Ubalo-manani olukwinqanaba eliphezulu ngoku lingasetyenziselwa ukukhulisa iintetho, kwaye ulungiso olongezelelekileyo ngoku lungasetyenziswa ukwenza imisebenzi yefestile.
  • Iinkqubo ezigciniweyo ezikuvumela ukuba ulawule ukuthengiselana kwiibhloko zekhowudi ngoku zixhasa ukuchaza idatha yokubuyisela usebenzisa i-parameters "OUT".
  • Kongezwe umsebenzi we-date_bin kumaxabiso ajikelezayo esitampu sexesha ngokwesithuba esixeliweyo. KHETHA umhla_umgqomo('imizuzu eyi-15', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Ukuchazwa kwe-SEARCH kunye ne-CYCLE echazwe kumgangatho we-SQL ukwenza kube lula uku-odola kunye nokuchonga imijikelo kwi-recursive Common Table Expressions (CTE). NGERECURSIVE search_tree(id, link, data) AS (KHETHA t.id, t.link, t.data UKUSUKA kumthi t UNION BONKE KHETHA t.id, t.link, t.data UKUSUKA kumthi t, search_tree st APHO t. id = st.link ) KHANGELA UBUNKULU KUQALA NGE-id SET i-odolo KHETHA * UKUSUKA kwi-search_tree UKUZENZA NGE-odolo;
  • Kwinkonzo ye-psql, ukugqitywa ngokuzenzekelayo kwemiyalelo kunye neethebhu kuphuculwe, ukukwazi ukubonisa iingxabano zemisebenzi yongezwe kumyalelo "\ df", kwaye izibalo ezibonisiweyo zandiswe kumyalelo "\ dX".
  • Kuyenzeka ukwabela ukufunda-kuphela okanye ukubhala-kuphela amalungelo kubasebenzisi. Amalungelo anokusetwa kwiitheyibhile ezizimeleyo, iimbono, kunye ne-schemas kusetyenziswa i-pg_read_all_data kunye ne-pg_write_all_data indima echazwe kwangaphambili. GRANT pg_funda_all_data KUmsebenzisi1;
  • Ufakelo olutsha olungagqibekanga kuqinisekiso lwegama lokugqitha kusetyenziswa i-SCRAM-SHA-256 endaweni ye-md5 (iparamitha ethi "password_encryption" xa uvelisa i-postgresql.conf ngoku isetelwe ku-'scram-sha-256').

umthombo: opennet.ru

Yongeza izimvo