Lëshimi i DBMS PostgreSQL 14

Pas një viti zhvillimi, është publikuar dega e re stabile e DBMS PostgreSQL 14. Përditësimet për degen e re do të publikohen për pesë vjet deri në nëntor 2026.

Novitetet kryesore:

  • Shtohet mbĂ«shtetje pĂ«r qasjen nĂ« tĂ« dhĂ«nat JSON pĂ«rmes shprehjeve qĂ« ngjajnĂ« me punĂ«n me listat: SELECT (‘{ «postgres»: { «release»: 14 }}’::jsonb)[‘postgres’][‘release’]; SELECT * FROM test WHERE details[‘attributes’][‘size’] = ‘»medium»‘;

    Sindikata e ngjashme Ă«shtĂ« implementuar gjithashtu pĂ«r tĂ« dhĂ«nat nĂ« formatin çelĂ«s/vlerĂ«, tĂ« ofruara nga tipi hstore. Ky sintaks Ă«shtĂ« implementuar fillimisht duke pĂ«rdorur njĂ« framework universal, i cili nĂ« tĂ« ardhmen mund tĂ« pĂ«rdoret edhe pĂ«r tipe tĂ« tjera. Shembull pĂ«r tipin hstore: INSERT INTO mytable VALUES (‘a=>b, c=>d’); SELECT h[‘a’] FROM mytable; UPDATE mytable SET h[‘c’] = ‘new’;

  • Familja e tipeve pĂ«r pĂ«rcaktimin e intervaleve Ă«shtĂ« zgjeruar me tipe tĂ« reja «multirange», tĂ« cilĂ«t lejojnĂ« tĂ« jepen lista tĂ« renditura tĂ« intervaleve tĂ« pa mbivendosur tĂ« vlerave. PĂ«r çdo tip ekzistues tĂ« range, ofrohet tipi i tij multirange, pĂ«r shembull, tipi «int4range» pĂ«rputhet me «int4multirange», ndĂ«rsa «daterange» pĂ«rputhet me «datemultirange». PĂ«rdorimi i tipeve tĂ« reja lehtĂ«son formulimin e kĂ«rkesave qĂ« manipulojnĂ« sekuenca komplekse intervalesh. SELECT ‘{[3,7), [8,9)}’::int4multirange; SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Optimizimet janĂ« kryer pĂ«r tĂ« pĂ«rmirĂ«suar performancĂ«n e sistemeve me ngarkesĂ« tĂ« lartĂ«, tĂ« cilat pĂ«rpunojnĂ« njĂ« numĂ«r tĂ« madh lidhjesh. NĂ« disa teste, Ă«shtĂ« vĂ«rejtur njĂ« rritje dyfish tĂ« performancĂ«s.
  • JanĂ« rritur efikasiteti i punĂ«s sĂ« indekseve B-tree dhe Ă«shtĂ« zgjidhur problemi me rritjen e indekseve gjatĂ« pĂ«rditĂ«simit tĂ« shpeshtĂ« tĂ« tabelave.
  • Shtohet mbĂ«shtetje pĂ«r njĂ« mod tĂ« punĂ«s nga klienti (implementuar nĂ« nivelin e libpq) pĂ«r transmetimin e pyetjeve nĂ«pĂ«rmjet njĂ« konveji (pipeline), qĂ« lejon tĂ« shpejtojnĂ« ndjeshĂ«m skenarĂ«t e punĂ«s me DB, tĂ« lidhur me kryerjen e njĂ« numri tĂ« madh operacionesh tĂ« vogla shkrimi (INSERT/UPDATE/DELETE) duke dĂ«rguar pyetjen tjetĂ«r pa pritur rezultatin e atij tĂ« mĂ«parshĂ«m. Ky mod ndihmon gjithashtu nĂ« pĂ«rshpejtimin e punĂ«s nĂ« lidhje me vonesa tĂ« mĂ«dha nĂ« dĂ«rgimin e paketave.
  • JanĂ« zgjeruar mundĂ«sitĂ« pĂ«r konfigurime tĂ« shpĂ«rndara, qĂ« pĂ«rfshijnĂ« disa serverĂ«sh PostgreSQL. Implementimi i replikimit logjik tani ofron mundĂ«sinĂ« pĂ«r tĂ« dĂ«rguar nĂ« mĂ«nyrĂ« stream tĂ« transaksioneve qĂ« janĂ« nĂ« proces, e cila ndihmon nĂ« rritjen e ndjeshme tĂ« performancĂ«s sĂ« replikimit tĂ« transaksioneve tĂ« mĂ«dha. PĂ«r mĂ« tepĂ«r, Ă«shtĂ« optimizuar dekodimi logjik i tĂ« dhĂ«nave qĂ« merren gjatĂ« procesit tĂ« replikimit logjik.
  • NĂ« mekanizmin e lidhjes me tabelat e jashtme Foreign Data Wrapper (postgres_fdw) Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r procesimin paralel tĂ« kĂ«rkesave, qĂ« aktualisht Ă«shtĂ« e aplikueshme vetĂ«m pĂ«r lidhjet me servera tĂ« tjerĂ« PostgreSQL. NĂ« postgres_fdw Ă«shtĂ« shtuar gjithashtu mbĂ«shtetje pĂ«r shtimin e tĂ« dhĂ«nave nĂ« tabelat e jashtme nĂ« mĂ«nyrĂ« grumbulluese dhe mundĂ«sia pĂ«r tĂ« importuar tabela tĂ« ndara pĂ«rmes specifikimit tĂ« drejtimit 'IMPORT FOREIGN SCHEMA'.
  • JanĂ« bĂ«rĂ« optimizime nĂ« realizimin e operacionit VACUUM (grumbullimi i mbeturinave dhe paketimi i hapĂ«sirĂ«s sĂ« diskut). ËshtĂ« shtuar njĂ« mĂ«nyrĂ« emergjente pĂ«r pastrimin ("emergency mode"), e cila anashkalon operacionet e pastrimit jo thelbĂ«sor nĂ«se krijohen kushte pĂ«r kalimin nĂ« njĂ« cikĂ«l tĂ« dytĂ« tĂ« numrave tĂ« identifikimit tĂ« transaksioneve (transaction ID wraparound). janĂ« reduktuar kostot nĂ« pĂ«rpunimin e indekseve nĂ« formatin B-Tree. Ekzekutimi i operacionit 'ANALYZE' Ă«shtĂ« pĂ«rshpejtuar nĂ« mĂ«nyrĂ« tĂ« ndjeshme, duke mbledhur statistikĂ« pĂ«r funksionimin e DB.
  • ËshtĂ« shtuar mundĂ«sia pĂ«r tĂ« konfiguruar metodĂ«n e kompresimit tĂ« aplikuar nĂ« sistemin TOAST, i cili Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r ruajtjen e tĂ« dhĂ«nave tĂ« mĂ«dha, si blloqe teksti ose informacion gjeometrik. PĂ«rveç metodĂ«s sĂ« kompresimit pglz, tani nĂ« TOAST Ă«shtĂ« e mundur tĂ« pĂ«rdorim algoritmin LZ4.
  • JanĂ« zgjeruar mjetet pĂ«r monitorimin e punĂ«s sĂ« DBMS. JanĂ« shtuar pamjet pĂ«r tĂ« ndjekur pĂ«rparimin e ekzekutimit tĂ« komandave 'COPY' (pg_stat_progress_copy), statistikave mbi slotet e replikimit (pg_stat_replication_slots) dhe aktivitetin qĂ« lidhet me logun WAL tĂ« transaksioneve (pg_stat_wal). ËshtĂ« shtuar funksioni compute_query_id, i cili pĂ«rfshin nĂ« subsistemat e ndryshme, si pg_stat_activity dhe EXPLAIN VERBOSE, ndjekjen e pyetjeve me ndarjen e njĂ« identifikuesi unik pĂ«r secilĂ«n pyetje.
  • NĂ« planifikuesin e kĂ«rkesave janĂ« shtuar optimizime qĂ« pĂ«rmirĂ«sojnĂ« pĂ«rpunimin paralel tĂ« kĂ«rkesave dhe lejojnĂ« rritjen e performancĂ«s pĂ«r ekzekutimin e operacioneve tĂ« skanimit tĂ« rreshtave, nisjes paralel tĂ« kĂ«rkesave nĂ« PL/pgSQL me komandĂ«n «RETURN QUERY» dhe ekzekutimi paralel i kĂ«rkesave nĂ« «REFRESH MATERIALIZED VIEW». PĂ«r tĂ« rritur performancĂ«n e bashkimeve tĂ« pĂ«rsĂ«ritura (join) Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r caching shtesĂ«.
  • PĂ«r optimizimin e shprehjeve tani mund tĂ« pĂ«rdoret statistika e zgjeruar, ndĂ«rsa pĂ«r optimizimin e funksioneve dritare — renditja diferenciale.
  • NĂ« procedurat e ruajtura, qĂ« lejojnĂ« menaxhimin e transaksioneve nĂ« blloqe kodi, Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r pĂ«rcaktimin e tĂ« dhĂ«nave tĂ« kthyera pĂ«rmes parametrave «OUT».
  • Funksioni date_bin Ă«shtĂ« shtuar pĂ«r tĂ« rrumbullakosur vlerat me tipin timestamp sipas intervalit tĂ« caktuar. SELECT date_bin(’15 minutes’, TIMESTAMP ‘2020-02-11 15:44:17’, TIMESTAMP ‘2001-01-01’); 2020-02-11 15:30:00
  • JanĂ« shtuar shprehjet e pĂ«rcaktuara nĂ« standardin SQL SEARCH dhe CYCLE, qĂ« thjeshtojnĂ« renditjen dhe identifikimin e cikleve nĂ« shprehjet e tabelave tĂ« pĂ«rgjithshme rekursive (Common Table Expression, CTE). WITH RECURSIVE search_tree(id, link, data) AS ( SELECT t.id, t.link, t.data FROM tree t UNION ALL SELECT t.id, t.link, t.data FROM tree t, search_tree st WHERE t.id = st.link ) SEARCH DEPTH FIRST BY id SET ordercol SELECT * FROM search_tree ORDER BY ordercol;
  • NĂ« utilitarin psql Ă«shtĂ« pĂ«rmirĂ«suar autocompletion e komandave me tab, nĂ« komandĂ«n «\df» Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« treguar argumentet e funksioneve dhe nĂ« komandĂ«n «\dX» Ă«shtĂ« zgjeruar statistika e shkarkuar.
  • Ofron mundĂ«sinĂ« pĂ«r tĂ« caktuar privilegje pĂ«r pĂ«rdoruesit qĂ« lejojnĂ« vetĂ«m leximin ose vetĂ«m shkrimin. Privilegjet mund tĂ« pĂ«rcaktohen lidhur me tabela tĂ« veçanta, pamje dhe skema me rolet e paracaktuara pg_read_all_data dhe pg_write_all_data. GRANT pg_read_all_data TO user1;
  • NĂ« instalimet e reja, autentikimi me fjalĂ«kalim me metodĂ«n SCRAM-SHA-256 Ă«shtĂ« bĂ«rĂ« pĂ«rdorimi i parazgjedhur nĂ« vend tĂ« md5 (parametri «password_encryption» gjatĂ« gjenerimit tĂ« postgresql.conf tani vendoset nĂ« 'scram-sha-256').

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster