Ukukhishwa kwe-PostgreSQL 14 DBMS

Ngemva konyaka wokuthuthuka, kushicilelwe igatsha elisha elizinzile le-PostgreSQL 14 DBMS. Izibuyekezo zegatsha elisha zizokhishwa phakathi neminyaka emihlanu kuze kube nguNovemba 2026.

Okuqanjiwe okuyinhloko:

  • Usekelo olungeziwe lokufinyelela idatha ye-JSON kusetshenziswa izinkulumo ezisikhumbuza ukusebenza ngezinhlu: KHETHA ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; KHETHA * KUSUKA ekuhlolweni LAPHO imininingwane['izimfanelo']['usayizi'] = '"okumaphakathi"';

    I-syntax efanayo isetshenziswa kudatha yokhiye/inani enikezwe uhlobo lwe-hstore. Le syntax ekuqaleni yasetshenziswa kusetshenziswa uhlaka lomhlaba wonke, okungenzeka ngokuzayo lusetshenziselwe ezinye izinhlobo. Isibonelo sohlobo lwe-hstore: FAKA EZIMBILINI ze-mytable ('a=>b, c=>d'); KHETHA h[‘a’] KUSUKA ku-mytable; BUYEKEZA I-mytable SET h[‘c’] = ‘entsha’;

  • Umndeni wezinhlobo zokuchaza ububanzi unwetshwe ngezinhlobo ezintsha "zamabanga amaningi", ezikuvumela ukuthi ucacise izinhlu ezi-odweyo zamanani ezingadluleli. Ngokungeziwe ohlotsheni ngalunye lwebanga elikhona, uhlobo lwayo lwe-multirange luyahlongozwa, isibonelo, uhlobo lwe-“int4range” luhambisana ne-“int4multirange”, futhi uhlobo “i-daterange” luhambisana nokuthi “datemultirange”. Ukusetshenziswa kwezinhlobo ezintsha kwenza idizayini yemibuzo ibe lula eshintsha ukulandelana okuyinkimbinkimbi kobubanzi. KHETHA '{[3,7), [8,9)}'::int4multirange; KHETHA inombolo yobuningi(inombolo(1.0, 14.0), inombolo(20.0, 25.0));
  • Ukuthuthukiswa kwenziwe ukuthuthukisa ukusebenza kwezinhlelo ezilayisha kakhulu ezicubungula inombolo enkulu yokuxhumana. Kwezinye izivivinyo, ukwanda kokusebenza okuphindwe kabili kubonakala.
  • Ukusebenza kahle kwezinkomba ze-B-tree kuye kwathuthukiswa futhi inkinga ngokukhula kwenkomba lapho amathebula ebuyekezwa njalo isixazululiwe.
  • Ukwesekwa okwengeziwe kohlangothi lweklayenti (olwenziwa ezingeni le-libpq) lokudluliswa kwezicelo kwepayipi, okukuvumela ukuthi usheshise kakhulu izimo zesizindalwazi ezihlobene nokwenza inombolo enkulu yemisebenzi yokubhala emincane (INSERT/UPDATE/DELETE) ngokuthumela isicelo esilandelayo ngaphandle kokulinda umphumela wangaphambilini. Imodi futhi isiza ukusheshisa umsebenzi ekuxhumekeni okunokubambezeleka okude kokulethwa kwephakethe.
  • Amandla athuthukisiwe okulungiselelwa okusabalalisiwe okubandakanya amaseva amaningi e-PostgreSQL. Ekusetshenzisweni kokuphindaphinda okunengqondo, manje sekungenzeka ukuthi kuthunyelwe imisebenzi yemodi yokusakaza esenqubo yokwenza, engathuthukisa kakhulu ukusebenza kokuphindaphinda kwemisebenzi emikhulu. Ngaphezu kwalokho, ukuqoshwa okunengqondo kwedatha etholwe ngesikhathi sokuphindaphinda okunengqondo kuthuthukisiwe.
  • Indlela yokuxhuma amathebula angaphandle Isisonga Sedatha Yangaphandle (postgres_fdw) yengeze usekelo lokucubungula imibuzo efanayo, okwamanje esebenza kuphela lapho uxhumeka kwamanye amaseva e-PostgreSQL. i-postgres_fdw futhi yengeza ukwesekwa kokwengeza idatha kumathebula angaphandle kumodi ye-batch kanye nekhono lokungenisa amathebula ahlukanisiwe ngokucacisa umyalelo othi “IMPORT FOREIGN SCHEMA”.
  • Ukuthuthukiswa kwenziwe ekuqaliseni ukusebenza kwe-VACUUM (ukuqoqwa kukadoti kanye nokupakishwa kokugcinwa kwediski). Imodi yokuhlanza izimo eziphuthumayo yengeziwe eyeqa imisebenzi yokuhlanza engabalulekile uma izimo zokugoqa ze-ID yomsebenzi zidaliwe. Kuncishiswe phezulu lapho kucutshungulwa izinkomba ngefomethi ye-B-Tree. Ukwenziwa komsebenzi othi "HLAZIYA", oqoqa izibalo mayelana nokusebenza kwesizindalwazi, kusheshiswe kakhulu.
  • Kwengezwe ikhono lokumisa indlela yokucindezela esetshenziswa kusistimu ye-TOAST, enesibopho sokugcina idatha enkulu, njengamabhulokhi wombhalo noma ulwazi lwejiyomethri. Ngokungeziwe endleleni yokucindezela ye-pglz, i-TOAST manje ingasebenzisa i-algorithm ye-LZ4.
  • Amathuluzi okuqapha ukusebenza kwe-DBMS anwetshiwe. Ukubuka okungeziwe ukuze kulandelelwe ukuqhubeka kwemiyalo ye-COPY (pg_stat_progress_copy), izibalo mayelana nezikhala zokuphindaphinda (pg_stat_replication_slots) nomsebenzi ohlobene nelogi yokwenziwe ye-WAL (pg_stat_wal). Umsebenzi we-compute_query_id wengeziwe, ovumela amasistimu angaphansi ahlukahlukene, afana ne-pg_stat_activity kanye ne-CHAZA VERBOSE, ukuze alandelele izicelo ngokunikeza isihlonzi esiyingqayizivele sesicelo ngasinye.
  • Ukuthuthukisa kungeziwe kusihleli semibuzo ukuze kuthuthukiswe ukucutshungulwa kwemibuzo ngokuhambisana kanye nokuthuthukisa ukusebenza ngesikhathi esisodwa sokuskena amarekhodi alandelanayo, ukuqaliswa okufanayo kwemibuzo ku-PL/pgSQL kusetshenziswa umyalo we-“RETURN QUERY”, kanye nokusebenzisa ngokufana kwemibuzo kokuthi “ VUSELELA UKUBUKA OKUMSEBENZI”. Ukuze kuthuthukiswe ukusebenza kokuhlanganisa okufakwe ku-cyclic esidlekeni (joyina), usekelo lwenqolobane eyengeziwe luqalisiwe.
  • Izibalo ezithuthukisiwe manje zingasetshenziswa ukuze kuthuthukiswe izisho, futhi ukuhlunga okukhulayo manje kungasetshenziswa ukuze kuthuthukiswe imisebenzi yewindi.
  • Izinqubo ezigciniwe ezikuvumela ukuthi uphathe okwenziwayo kumabhulokhi wekhodi manje zisekela ukuchaza idatha yokubuyisela usebenzisa imingcele ye-"OUT".
  • Kwengezwe umsebenzi we-date_bin kumanani esitembu sesikhathi esiyindilinga ngokuya ngesikhawu esishiwo. KHETHA idethi_bin('amaminithi angu-15', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Kwengezwe izisho ze-SEARCH kanye ne-CYCLE ezichazwe kuzinga le-SQL ukuze kube lula uku-oda nokukhomba imijikelezo ku-Recursive Table Expressions (CTE). NGE-RECURSIVE search_tree(id, link, data) AS (KHETHA t.id, t.link, t.data KUSUKA esihlahleni t UNION KONKE KHETHA t.id, t.link, t.data KUSUKA esihlahleni t, search_tree st LAPHO t. id = st.link ) SESHA UKUJULUKA KOKUQALA NGE-id SET i-oda KHETHA * KUSUKA KU-search_tree UKUHLELA NGE-odacol;
  • Kunsizakalo ye-psql, ukuqedela ngokuzenzakalela kwemiyalelo ngamathebhu kuthuthukisiwe, amandla okubonisa ama-agumenti okusebenza angeziwe emyalweni othi "\df", futhi izibalo ezibonisiwe zinwetshwe kumyalo we-"\dX".
  • Kuyenzeka ukuthi unikeze abasebenzisi amalungelo okufunda kuphela noma okubhala kuphela. Amalungelo angasethwa kumathebula ngamanye, ukubukwa, nezikimu kusetshenziswa i-pg_read_all_data kanye ne-pg_write_all_data izindima ezichazwe ngaphambilini. GRANT pg_funda_all_data KUmsebenzisi1;
  • Ukufakwa okusha okuzenzakalelayo kokufakazela ubuqiniso bephasiwedi kusetshenziswa i-SCRAM-SHA-256 esikhundleni se-md5 (ipharamitha ethi "password_encryption" lapho ikhiqiza i-postgresql.conf manje isimiselwe kokuthi 'scram-sha-256').

Source: opennet.ru

Engeza amazwana