PostgreSQL 18 DBMS sii deynta

Hal sano oo horumarineed ka dib, laan cusub oo xasilloon oo PostgreSQL 18 DBMS ah ayaa la daabacay Cusbooneysiinta laanta cusub ayaa la sii deyn doonaa muddo shan sano ah ilaa Noofambar 2030. PostgreSQL 13.x, laanta taageerada ugu da'da weyn, waxay dhammaan doontaa Noofambar 13-keeda.

Hal-abuurka ugu muhiimsan:

  • Nidaam hoosaad I/O ah oo aan isku mid ahayn ayaa lagu daray si loo kordhiyo wax soo saarka I/O loona baabi'iyo dib u dhaca. Intaa waxaa dheer hirgelinta AIO ee caalamiga ah (io_method=worker) oo laga heli karo dhammaan goobaha, kaas oo ku salaysan socodsiinta habab badan oo shaqaale ah (3 si caadi ah), Linux is-dhexgalka asynchronous I/O io_uring (io_method=io_uring), oo la taageeray maadaama kernel-ka, waa la isticmaali karaa Linux 5.1. Asynchronous I/O hadda waxaa loo isticmaalaa oo keliya in lagu dedejiyo hawlgallo gaar ah oo la xiriira akhrinta xogta nidaamka faylka, sida soo noqnoqoshada isku xigxiga, iskaanka tusmada bitmap-ka, iyo faaruqinta. Imtixaanada qaar, isticmaalka AIO wuxuu keenaa koror waxqabad oo 2-3x ah. Hawlgallada qorista ayaa sii socda si isku mid ah loo sameeyaa si loo buuxiyo shuruudaha ACID.
  • Hagaajinta "skaanka boodboodka" ayaa loo hirgeliyay tusmooyinka sariiraha badan. Tani waxay u oggolaanaysaa tusaha in aan loo isticmaalin oo keliya hubinta tiirka ugu horreeya ee la tilmaamo iyo dhammaan silsiladda tiirarka, laakiin sidoo kale si loo habeeyo tiirarka tusmayn ee soo hadhay si gaar ah. Tusaale ahaan, hore, marka la abuurayo tusmada geedka B ee tiirarka "(xaaladda, taariikhda)", tusmada waxa loo isticmaalay kaliya su'aalaha lagu hubinayo goobta "status" ama labadaba "status" iyo "taariikhda". Sawirka miiska ayaa la sameeyay markii la hubinayay kaliya goobta "taariikhda" ee su'aalaha. Habka "skaanka boodboodka" wuxuu ogolaanayaa, xaaladaha qaarkood, iskaanka tusaha marka la waydiinayo kaliya goobta "taariikhda". Habkani waxa kaliya oo lagu dabaqi karaa tusmooyinka B-geedka marka la isticmaalayo "=" hawlwadeen shuruud ah oo ku yaal goob la calaamadiyey su'aal, xaaladaha goobta laga booday ay leedahay tiro yar oo qiyam ah oo kala duwan (tusaale ahaan, hagaajintu waxay shaqeyn doontaa haddii goobta "status" ay leedahay qiimeyaal dhowr ah).
  • Kor-u-qaadista lagu daray ee si hufan uga faa'iidaysanaysa tusmooyinka ka kooban "OR" iyo "IN (...)" waxay dhistaa faqradda "HALKAN", oo wanaajisa waxqabadka miiska ku biirista qorshaynta iyo fulinta (tusaale, koodhka isku-darka xashiishku waa la kordhiyey waxaana hadda la oggol yahay kala-soocidda kordhinta marka la isku darayo miisaska).
  • Taageero lagu daray isbarbar-dhigga dhismaha tusmooyinka GIN (Generalized Inverted Index), kuwaas oo loo isticmaalo in lagu tilmaamo qiyamka isku dhafan sida arrays iyo in lagu abaabulo raadinta xogta qoraalka buuxa ama qaababka JSON.
  • Waxaa lagu daray awoodda lagu abuurayo aragtiyo dhab ah iyo furayaal loogu talagalay qaybinta miisaska leh tusmooyin gaar ah oo aan isticmaalin qaabka B-geedka.
  • Guud ahaan waxqabadka qufulka ayaa loo hagaajiyay su'aalaha ku shaqeeya tiro badan oo miisas ah, waxaana la hagaajiyay in wax laga weydiiyo miisaska la qaybiyay si loo dedejiyo gooynta qaybaha aan la isticmaalin iyo hawlgallada isku dhafka ah (JOIN).
  • Hawlgallada qoraalka, sida shaqooyinka beddelka kiisaska sare/hoose, waa la dardargeliyey. Habka PG_UNICODE_FAST ayaa lagu daray si loo dedejiyo habaynta astaamaha deegaanka Unicode.
  • Waxaan hirgelinay awoodda lagu ilaalinayo tirakoobka qorsheynta weydiimaha ka dib markii la casriyeeyay inta u dhaxaysa sii daynta waaweyn ee PostgreSQL. Isbeddelkani waxa uu ka fogaanayaa hawlgalka "ANALYZE" ee degdegga ah ka dib markii la bilaabay nooc cusub, kaas oo keeni kara hoos u dhac ku yimaada ilaa uu dhamaystiro.
  • Waxqabadka pg_upgrade utility, loo isticmaalo in lagu farsameeyo casriyaynta siidaynta cusub ee PostgreSQL, waa la hagaajiyay. Hagaajintan ayaa si gaar ah loo ogaan karaa marka la cusboonaysiinayo xog-ururin ka kooban walxo tiro badan, sida miisaska iyo taxanaha. Si loo dedejiyo pg_upgrade, waxaanu sidoo kale ku darnay calanka "--shaqo N" ee isbarbar-dhigga hubinta dunta N iyo calanka "--swap" ee lagu beddelayo dhammaan hagaha xogta iyada oo aan la isku xidhin, xidhin, ama nuqul ka samaynayn faylasha.
  • Taageerada ayaa lagu daray tiirarka la soo saaray, kuwaas oo qiyamkooda lagu xisaabiyo duulista inta lagu jiro fulinta su'aalaha, iyada oo aan lagu badbaadin diskka. Haddii bayaanku "Abuur Miisaanka..." uu qeexayo kaliya ereyga muhiimka ah "HENERATED" ee tiirarka la soo saaray iyada oo aan la sheegin nooc (KAYAYN ama VIRTUAL), hirgelinta cusub waxa loo isticmaalayaa si default halkii fulintii hore. Hirgelintii hore, qiyamka ayaa la soo saaray inta lagu gudajiray hawlgallada "INSERT" ama "UPDATE" waxaana lagu keydiyay diskka isticmaalka dambe. Khasaaraha tiirarka farsamaysan ee la soo saaray ayaa ah inaan loo isticmaali karin tusmooyinka, laakiin faa'iidadooda ayaa ah awoodda ay ku caadiyeeyaan oo ay wax uga beddelaan xogta duulista (ku habboon marka la shaqeynayo xogta JSON). Marka la eego tiirarka la kaydiyay ee caadiga ah, sii daynta cusub waxay taageertaa ku celcelinta macquulka ah.
  • GELI, CUSBOONAYSIINTA, DELETE, iyo amarrada isku-dhafka hadda waxay taageerayaan awoodda lagu muujinayo qiyamkii hore (OLD) iyo hadda (Hadda) ee ku jira faqradda soo celinta. Tusaale ahaan, "CUSBOONAYSIINTA… LA SOO NOQDAY (OLD AS o, CUSUB AS n) o.*, n.*."
  • Shaqada uuidv7() ayaa lagu daray soo saarista tilmaamo gaar ah oo random ah oo qaabka UUIDv7 ah. Si ka duwan jiilka hore ee UUID (gen_random_uuid), kaas oo hadda sidoo kale loo heli karo uuidv4 (), UUIDv7 waxaa ku jira wakhtiga jiilka marka lagu daro qiimaha random. In la dalbado qaybo ka mid ah qiimaha UUID (12-ka xaraf ee ugu horreeya waa wakhtiyadii hore, iyo 18ka soo socdaa waa qiimaha random) waxay hagaajinaysaa kala-soocidda iyo tusmaynta waxtarka, taas oo muhiim ah maaddaama UUID-yada sida caadiga ah loo isticmaalo furayaasha aasaasiga ah (tusaale ahaan, furayaasha la abuuray waqtiyo isku mid ah ayaa la dhigayaa midba midka kale ee tusmada).
  • Hawlgalka "LIKE" wuxuu hadda taageerayaa isbarbardhigga qoraalka ee isticmaala guryaha isku-ururinta deegaanka ee aan go'aaminaynin, taasoo u oggolaanaysa isbarbardhigga astaamaha macnaha leh (tusaale ahaan, calaamadaha lahjadda waa la iska indho-tiraa marka la barbardhigo). Shaqada CASEFOLD ayaa lagu daray beddelka kiiska jilayaasha iyadoo lagu salaynayo sifooyinka ururinta deegaanka (tusaale ahaan, jilayaasha qaarkood waxay leeyihiin wax ka badan laba nooc oo farmaajo ah ama waxay u baahan yihiin beddelaad xarfo waaweyn marka la barbardhigo).
  • Awoodda isticmaalka xannibaadaha ku meel gaarka ah ayaa lagu daray. FURAHA AASAASIGA AH iyo qiyamka GAAR AH, isticmaal odhaahda IYADOO LA ISKU DUWANAYN si aad ugu darto caqabadaha ku meel gaadhka ah, iyo qiimayaasha Ajnabiga ah, isticmaal tibaaxaha MUDDADA. Tusaale ahaan, marka aad qeexayso furayaasha aasaasiga ah, waxaad ku xidhi kartaa furayaasha waqtiyo is dulsaaran.
  • Lagu daray "Abuur Miisaska Ajnabiga… LIKE Amarka" si loo abuuro shaxda miiska qalaad ee ku salaysan qeexida miiska deegaanka.
  • Taageerada ku xidhidhiyaha DBMS iyaddoo la isticmaalayo xaqiijinta OAUTH 2.0 oo leh calaamad gelid halkii erayga sirta ah ayaa lagu daray. Isticmaalka OAUTH waxa ay meesha ka saaraysaa baahida lagu kaydiyo furaha sirta ah ee kaydka xogta, taas oo u ogolaanaysa in isticmaaluhu ku xaqiijiyo adeegyada dibadda iyo isticmaalka sifooyinka sida xaqiijinta laba-factor iyo hal calaamad (SSO).
  • Shaqada ssl_tls13_ciphers() ayaa lagu daray, kaas oo loo isticmaali karo in lagu qeexo liiska sirta algorithms ee la ogol yahay marka la isku xidho iyadoo la isticmaalayo borotokoolka TLSv1.3.
  • Taageerada xaqiijinta iyadoo la isticmaalayo md5 sirta hashing algorithm waa la joojiyay waxaana loo qorsheeyay in meesha laga saaro. Halkii md5, waxaa lagu talinayaa in la isticmaalo SCRAM (SCRAM-SHA-256) algorithm, lagu soo bandhigay PostgreSQL 10. Intaa waxaa dheer, taageerada aqoonsiga ku salaysan SCRAM marka lagu xidho postgres_fdw iyo dblink si dibadda PostgreSQL server waa la fuliyay.
  • Hawlgalka "EXPLAIN ANALYZE" wuxuu hadda soo bandhigayaa macluumaadka ku saabsan tirada tusmooyinka la raadiyo inta lagu jiro baarista tusmada iyo tirada kaydinta gelitaanka inta lagu jiro fulinta weydiinta. Soo saarida "SHArax falanqeyn VERBOSE" hadda waxaa ku jira tirokoob ku saabsan CPU, Log WAL, iyo dhaqdhaqaaqa akhrinta. Jadwalka pg_stat_all_tables hadda waxa uu soo bandhigayaa macluumaadka ku saabsan wakhtiga lagu qaatay hawlgalka VACUUM iyo falanqaynta miiska. Tirakoobka ku saabsan dhaqdhaqaaqa I/O iyo culayska logaga WAL ayaa hadda diyaar u ah isku xidhka gaarka ah. pg_stat_subscription_stats iyo diiwaanadu hadda waxay ka kooban yihiin macluumaadka ku saabsan ogaanshaha isku dhaca ee hawlgallada qorista inta lagu jiro ku celcelinta macquulka ah.
  • Rakibaadaha cusub waxay awood u siinayaan jeegaga si ay u xaqiijiyaan daacadnimada xogta la kaydiyay. Si aad u baabi'iso hab-dhaqankan, cadee "--no-data-checksums" doorashada marka ay socoto initdb.
  • Calanka "--all" ayaa lagu daray utility-ga pg_createsubscriber si loogu oggolaado abuurista nuqullo macquul ah dhammaan xog-ururinta hal mar oo leh hal amar.
  • Nooc cusub (3.2) ee borotokoolka loo isticmaalo isdhexgalka u dhexeeya yutiilitida dibadda iyo DBMS, oo laga hirgaliyay maktabadda libpq, ayaa la hirgaliyay. Hab-maamuuska waxaa markii ugu dambeysay lagu cusboonaysiiyay PostgreSQL 7.4 (2003). Maktabadda libpq waxay sii waddaa adeegsiga nooca 3.0 si caadi ah.

Source: opennet.ru

U soo iibso martigelin lagu kalsoonaan karo oo loogu talagalay bogagga leh ilaalinta DDoS, VPS VDS servers 🔥 Iibso martigelin degel oo lagu kalsoonaan karo oo leh ilaalinta DDoS, VPS VDS servers | ProHoster