PostgreSQL 15 buraxılışı

Bir illik inkişafdan sonra PostgreSQL 15 DBMS-nin yeni stabil filialı nəşr olundu.Yeni filial üçün yeniləmələr 2027-ci ilin noyabrına qədər beş il ərzində buraxılacaq.

Əsas yeniliklər:

  • "INSERT ... ON CONFLICT" ifadəsinə bənzəyən "MERGE" SQL əmri üçün əlavə dəstək. MERGE sizə INSERT, UPDATE və DELETE əməliyyatlarını bir ifadədə birləşdirən şərti SQL ifadələri yaratmağa imkan verir. Məsələn, MERGE istifadə edərək, çatışmayan qeydləri daxil etməklə və mövcud olanları yeniləməklə iki cədvəli birləşdirə bilərsiniz. t.customer_id = ca.customer_id İSTİFADƏ EDİLƏN son_əməliyyatlardan İSTİFADƏ EDİN müştəri_hesabına t.customer_id = ca.customer_id UYĞUN OLAN ZAMAN YENİLƏNİN balans = balans + tranzaksiya_dəyəri UYĞUN OLMAYANDA SONRA DAXİL EDİN (müştəri_id, balans) DƏYƏRLƏRİ (t.müştəri_id, balans);
  • Yaddaşda və diskdə məlumatların çeşidlənməsi alqoritmləri əhəmiyyətli dərəcədə təkmilləşdirilmişdir. Verilənlərin növündən asılı olaraq, testlər çeşidləmə sürətinin 25%-dən 400%-ə qədər artdığını göstərir.
  • row_number(), rank(), dense_rank() və count() funksiyalarından istifadə edən pəncərə funksiyaları sürətləndirilib.
  • “SELECT DISTINCT” ifadəsi ilə sorğuların paralel icrası imkanı tətbiq edilmişdir.
  • Xarici cədvəlləri birləşdirən mexanizm Xarici Məlumat Qapağı (postgres_fdw) xarici serverlərə sorğuları asinxron şəkildə emal etmək üçün əvvəllər əlavə edilmiş imkana əlavə olaraq asinxron öhdəliklər üçün dəstəyi həyata keçirir.
  • LZ4 və Zstandard (zstd) alqoritmlərindən bəzi iş yükləri altında eyni vaxtda performansı yaxşılaşdıra və disk sahəsinə qənaət edə bilən WAL əməliyyat qeydlərini sıxışdırmaq imkanı əlavə edildi. Uğursuzluqdan sonra bərpa müddətini azaltmaq üçün WAL jurnalında görünən səhifələrin proaktiv axtarışı üçün dəstək əlavə edilmişdir.
  • pg_basebackup yardım proqramı gzip, LZ4 və ya zstd metodlarından istifadə edərək ehtiyat nüsxə fayllarının server tərəfində sıxılması üçün dəstək əlavə etdi. Arxivləşdirmə üçün öz modullarınızdan istifadə etmək mümkündür, bu da shell əmrlərini yerinə yetirməyə ehtiyac olmadan bunu etməyə imkan verir.
  • Normal ifadələrdən istifadə edərək sətirlərin işlənməsi üçün bir sıra yeni funksiyalar əlavə edilmişdir: regexp_count(), regexp_instr(), regexp_like() və regexp_substr().
  • Range_agg() funksiyasına çox diapazonlu növləri ("çox diapazonlu") toplamaq imkanı əlavə edilmişdir.
  • Görünüş yaradıcısı deyil, zəng edən istifadəçi kimi işləyən görünüşlər yaratmağa imkan verən security_invoker rejimi əlavə edildi.
  • Məntiqi təkrarlama üçün sətirlərin süzülməsi və sütunların siyahılarının dəqiqləşdirilməsi dəstəyi həyata keçirilmişdir ki, bu da göndərənin tərəfinə replikasiya üçün cədvəldən verilənlərin alt dəstini seçməyə imkan verir. Bundan əlavə, yeni versiya konfliktlərin idarə edilməsini sadələşdirir, məsələn, indi ziddiyyətli tranzaksiyaları keçmək və xəta aşkar edildikdə abunəni avtomatik dayandırmaq mümkündür. Məntiqi təkrarlama iki fazalı öhdəliyin (2PC) istifadəsinə imkan verir.
  • Yeni jurnal formatı əlavə edildi - JSON formatından istifadə edərək məlumatı strukturlaşdırılmış formada saxlayan jsonlog.
  • Administrator müəyyən PostgreSQL server konfiqurasiya parametrlərini dəyişdirmək üçün istifadəçilərə fərdi hüquqlar vermək imkanına malikdir.
  • Psql yardım proqramı “\dconfig” əmrindən istifadə edərək parametrlər (pg_settings) haqqında məlumat axtarmaq üçün dəstək əlavə etdi.
  • Paylaşılan yaddaşdan istifadə serverin işi ilə bağlı statistik məlumatların toplanması üçün təmin edilir ki, bu da ayrıca statistika toplamaq və diskdə vəziyyətin vaxtaşırı sıfırlanması prosesindən qurtulmağa imkan verir.
  • Defolt ICU dillərindən istifadə etmək imkanı "ICU Collation" təmin edilmişdir; əvvəllər yalnız libc dilləri standart dil kimi istifadə edilə bilərdi.
  • SQL sorğularından istifadə edərək WAL qeydləri olan faylların məzmununu yoxlamağa imkan verən daxili pg_walinspect genişləndirilməsi təklif edilmişdir.
  • İctimai sxem üçün verilənlər bazası sahibi istisna olmaqla, bütün istifadəçilərin CREATE əmrini yerinə yetirmək səlahiyyətləri ləğv edilib.
  • Python 2 üçün dəstək PL/Python-da silindi. Köhnəlmiş eksklüziv ehtiyat rejimi silindi.

Əlavə: 19:00-dan 20:00-a qədər (MSK) Pavel Luzanov (Postgres Professional) ilə yeni versiyada dəyişiklikləri müzakirə edən vebinar olacaq. Verilişə qoşula bilməyənlər üçün PGConf.Russia saytında Pavelin “PostgreSQL 15: MERGE və daha çoxu” adlı iyun hesabatının qeydi açıqdır.

Mənbə: opennet.ru

Добавить комментарий