Shkarkimi i DBMS PostgreSQL 14

Pas një viti zhvillimi, është publikuar një degë e re e stabilizuar e DBMS PostgreSQL 14. Përditësimet për këtë degë do të dalin gjatë pesë viteve të ardhshme deri në nëntor 2026.

TĂ« rejat kryesore:

  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r aksesin nĂ« tĂ« dhĂ«na JSON pĂ«rmes shprehjeve qĂ« ngjajnĂ« me punĂ«n me array: SELECT (‘{ "postgres": { "release": 14 }}’::jsonb)[‘postgres’][‘release’]; SELECT * FROM test WHERE details[‘attributes’][‘size’] = ‘"medium"‘;

    Sintaksa e ngjashme Ă«shtĂ« realizuar gjithashtu pĂ«r tĂ« dhĂ«nat nĂ« formatin çelĂ«s/vlera, tĂ« siguruara nga tipi hstore. NjĂ« sintaksĂ« e tillĂ« Ă«shtĂ« fillimisht realizuar duke pĂ«rdorur njĂ« kornizĂ« universale, e cila nĂ« tĂ« ardhmen mund tĂ« pĂ«rdoret gjithashtu pĂ«r tipe tĂ« tjera. Shembuj 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", qĂ« lejojnĂ« pĂ«rcaktimin e listave tĂ« renditura tĂ« intervaleve tĂ« papĂ«rputhshme tĂ« vlerave. NĂ« pĂ«rputhje me çdo tip ekzistues range, Ă«shtĂ« propozuar tipi pĂ«rkatĂ«s multirange, pĂ«r shembuj, tipi "int4range" pĂ«rputhet me "int4multirange", ndĂ«rsa "daterange" me "datemultirange". PĂ«rdorimi i tipeve tĂ« reja thjeshton formimin e pyetjeve qĂ« manipulojnĂ« me sekuenca komplekse intervalesh. SELECT ‘{[3,7), [8,9)}’::int4multirange; SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • JanĂ« bĂ«rĂ« optimizime pĂ«r tĂ« rritur performancĂ«n e sistemeve me ngarkesĂ« tĂ« lartĂ« qĂ« trajtojnĂ« njĂ« numĂ«r tĂ« madh lidhjesh. NĂ« disa teste Ă«shtĂ« vĂ«rejtur njĂ« rritje dyfish tĂ« performancĂ«s.
  • ËshtĂ« rritur efikasiteti i indekseve B-tree dhe Ă«shtĂ« zgjidhur problemi i zgjerimit tĂ« indekseve gjatĂ« pĂ«rditĂ«simeve tĂ« shpeshta tĂ« tabelave.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r regjimin e transmetimit nĂ« anĂ«n e klientit (implementuar nĂ« nivelin libpq) tĂ« regjimit tĂ« tubimit (pipeline) tĂ« kĂ«rkesave, i cili lejon tĂ« pĂ«rshpejtohet nĂ« mĂ«nyrĂ« tĂ« dukshme skenarĂ«t e punĂ«s me DB, tĂ« lidhur me realizimin e njĂ« numri tĂ« madh operacioneve tĂ« vogla shkruese (INSERT/UPDATE/DELETE) duke dĂ«rguar kĂ«rkesĂ«n e ardhshme pa pritur rezultatin e asaj tĂ« kaluarĂ«s. Ky regjim gjithashtu ndihmon nĂ« pĂ«rshpejtimin e punĂ«s nĂ« lidhjet me vonesa tĂ« mĂ«dha tĂ« dorĂ«zimit tĂ« pakove.
  • JanĂ« zgjeruar mundĂ«sitĂ« pĂ«r konfigurime tĂ« shpĂ«rndara qĂ« pĂ«rfshijnĂ« disa servera PostgreSQL. NĂ« realizimin e replikimit logjik Ă«shtĂ« shtuar mundĂ«sia e dĂ«rgimit nĂ« mod tĂ« rrymin tĂ« transaksioneve, tĂ« cilat janĂ« nĂ« proces ekzekutimi, çka lejon tĂ« rritur ndjeshĂ«m performancĂ«n e replikimit tĂ« transaksioneve tĂ« mĂ«dha. PĂ«r mĂ« tepĂ«r, Ă«shtĂ« optimizuar dekodimi logjik i tĂ« dhĂ«nave qĂ« vijnĂ« gjatĂ« procesit tĂ« replikimit logjik.
  • NĂ« mekanizmin e lidhjes sĂ« tabelave tĂ« jashtme Foreign Data Wrapper (postgres_fdw) Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rpunimin paralel tĂ« kĂ«rkesave, i cili pĂ«r momentin Ă«shtĂ« i aplikueshĂ«m vetĂ«m kur lidhet 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Ă« mod tĂ« paketave dhe mundĂ«sia e importimit tĂ« tabelave tĂ« ndara pĂ«rmes specifikimit tĂ« direktivĂ«s “IMPORT FOREIGN SCHEMA”.
  • JanĂ« bĂ«rĂ« optimizime nĂ« realizimin e operacionit VACUUM (mbledhja e mbeturinave dhe paketimi i ruajtjes nĂ« disk). ËshtĂ« shtuar njĂ« mod emergjence pastrimi, qĂ« anashkalon operacionet e pastrimit tĂ« parĂ«ndĂ«sishme nĂ«se krijohen kushtet pĂ«r tĂ« kaluar nĂ« rrethin e dytĂ« tĂ« numrave tĂ« identifikimit tĂ« transaksioneve (transaction ID wraparound). JanĂ« ulur kostot operative gjatĂ« pĂ«rpunimit tĂ« indekseve nĂ« formatin B-Tree. ËshtĂ« pĂ«rshpejtuar ndjeshĂ«m kryerja e operacionit “ANALYZE”, qĂ« mbledh statistika mbi punĂ«n e DB.
  • ËshtĂ« shtuar mundĂ«sia e konfigurimit tĂ« metodĂ«s sĂ« kompresimit, tĂ« aplikuar nĂ« sistemin TOAST, i cili Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r ruajtjen e tĂ« dhĂ«nave tĂ« mĂ«dha, si blloqet e tekstit ose informacionin gjeometrik. PĂ«rveç metodĂ«s sĂ« kompresimit pglz, nĂ« TOAST tani mund tĂ« pĂ«rdoret algoritmi LZ4.
  • JanĂ« zgjeruar mjetet pĂ«r monitorimin e punĂ«s sĂ« DBMS. JanĂ« shtuar pamjet pĂ«r ndjekjen e pĂ«rparimeve tĂ« ekzekutimit tĂ« komandeve “COPY” (pg_stat_progress_copy), statistikat mbi slotet e replikimit (pg_stat_replication_slots) dhe aktivitetet lidhur me logun WAL tĂ« transaksioneve (pg_stat_wal). ËshtĂ« shtuar funksioni compute_query_id, qĂ« pĂ«rfshin nĂ« sisteme tĂ« ndryshme, si pg_stat_activity dhe EXPLAIN VERBOSE, ndjekjen e kĂ«rkesave me caktimin e njĂ« identifikuesi unik pĂ«r çdo kĂ«rkesĂ«.
  • JanĂ« shtuar optimizime nĂ« planifikuesin e kĂ«rkesave qĂ« pĂ«rmirĂ«sojnĂ« pĂ«rpunimin paralel tĂ« kĂ«rkesave dhe lejojnĂ« rritjen e performancĂ«s sĂ« realizimit tĂ« operacioneve tĂ« skanimit tĂ« sekuencave, ekzekutimin paralel tĂ« kĂ«rkesave nĂ« PL/pgSQL pĂ«rmes komandĂ«s “RETURN QUERY” dhe ekzekutimin paralel tĂ« kĂ«rkesave nĂ« “REFRESH MATERIALIZED VIEW”. PĂ«r tĂ« rritur performancĂ«n e bashkĂ«ngjitjeve ciklike tĂ« pĂ«rsĂ«ritura Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r memorizimin e mĂ«tejshĂ«m.
  • PĂ«r optimizimin e shprehjeve tani mund tĂ« pĂ«rdoret statistika e avancuar, dhe pĂ«r optimizimin e funksioneve dritare — renditja inkrementale.
  • NĂ« procedurat e ruajtura, qĂ« lejojnĂ« menaxhimin e transaksioneve nĂ« blloqe kodi, Ă«shtĂ« zbatuar mbĂ«shtetje pĂ«r pĂ«rcaktimin e tĂ« dhĂ«nave tĂ« kthyera duke pĂ«rdorur parametrat "OUT".
  • Shtuar funksioni date_bin pĂ«r tĂ« rrumbullaksuar vlerat me tipin timestamp nĂ« pĂ«rputhje me intervalin e caktuar. SELECT date_bin('15 minutes', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Shtuar shprehjet e pĂ«rcaktuara nĂ« standardin SQL SEARCH dhe CYCLE, qĂ« lehtĂ«sojnĂ« renditjen dhe identifikimin e cikleve nĂ« shprehjet tabelore rekurzive (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 autokompletimi i komandave me tab, nĂ« komandĂ«n "\df" Ă«shtĂ« shtuar mundĂ«sia e shfaqjes sĂ« argumenteve tĂ« funksioneve, dhe nĂ« komandĂ«n "\dX" Ă«shtĂ« zgjeruar statistika e shfaqur.
  • Ofruar mundĂ«sia pĂ«r tĂ« caktuar privilegje pĂ«r pĂ«rdoruesit qĂ« lejojnĂ« vetĂ«m lexim ose vetĂ«m shkruajtur. Privilegjet mund tĂ« pĂ«rcaktohen nĂ« lidhje me tabela, pamje dhe skema tĂ« veçanta duke pĂ«rdorur rolet e paracaktuara pg_read_all_data dhe pg_write_all_data. GRANT pg_read_all_data TO user1;
  • NĂ« instalimet e reja Ă«shtĂ« garantuar pĂ«rdorimi i autentikimit me fjalĂ«kalim duke pĂ«rdorur metodĂ«n SCRAM-SHA-256 nĂ« vend tĂ« md5 (parametri "password_encryption" gjatĂ« gjenerimit tĂ« postgresql.conf tani vendoset nĂ« vlerĂ«n 'scram-sha-256').

Burimi: opennet.ru

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