PostgreSQL 12 DBMS versiyasi

Bir yillik rivojlanishdan keyin e'lon qilindi PostgreSQL 12 DBMS ning yangi barqaror filiali Yangi filial uchun yangilanishlar chiqadi 2024 yil noyabrigacha besh yil muddatga.

asosiy yangiliklar:

  • " uchun qo'shilgan yordamyaratilgan ustunlar", uning qiymati bir xil jadvaldagi boshqa ustunlar qiymatlarini qamrab oluvchi ifoda asosida hisoblanadi (ko'rinishlarga o'xshash, lekin alohida ustunlar uchun). Yaratilgan ustunlar ikki xil bo'lishi mumkin - saqlangan va virtual. Birinchi holda, qiymat ma'lumotlar qo'shilgan yoki o'zgartirilgan vaqtda hisoblanadi, ikkinchi holda, qiymat boshqa ustunlarning joriy holatidan kelib chiqqan holda har bir o'qish uchun hisoblanadi. Hozirda PostgreSQL faqat saqlangan yaratilgan ustunlarni qo'llab-quvvatlaydi;
  • JSON hujjatlaridan ma'lumotlarni so'rash imkoniyati qo'shildi Yo'l ifodalario'xshash XPath va SQL/JSON standartida belgilangan. JSONB formatida saqlanadigan hujjatlar uchun bunday ifodalarni qayta ishlash samaradorligini oshirish uchun mavjud indekslash mexanizmlaridan foydalaniladi;
  • SQL so'rovlarini qayta ishlash jarayonida ba'zi ifodalarning bajarilishini tezlashtirish uchun LLVM ishlanmalariga asoslangan JIT (Just-in-Time) kompilyatoridan foydalanish sukut bo'yicha yoqilgan. Masalan, JIT WHERE bloklari, maqsadli ro'yxatlar, yig'ma ifodalar va ba'zi ichki operatsiyalar ichidagi ifodalarning bajarilishini tezlashtirish uchun ishlatiladi;
  • Indekslash samaradorligi sezilarli darajada yaxshilandi. B-daraxt indekslari indekslar tez-tez o'zgarib turadigan muhitlarda ishlash uchun optimallashtirilgan - TPC-C testlari ishlashning umumiy o'sishini va disk maydoni sarfini o'rtacha 40% ga kamaytirishni ko'rsatadi. GiST, GIN va SP-GiST indeks turlari uchun oldindan yozish jurnalini (WAL) yaratishda qo'shimcha xarajatlar kamayadi. GiST uchun qo'shimcha ustunlarni o'z ichiga olgan o'rash indekslarini (INCLUDE ifodasi orqali) yaratish imkoniyati qo'shildi. Ishda Statistikani yarating Noto'g'ri taqsimlangan ustunlardan foydalanganda yanada maqbul so'rov rejalarini yaratish uchun eng umumiy qiymat (MCV) statistikasini qo'llab-quvvatlaydi;
  • Bo'limni amalga oshirish minglab bo'limlarga ega jadvallarni qamrab oluvchi so'rovlar uchun optimallashtirilgan, ammo cheklangan ma'lumotlar to'plamini tanlash bilan cheklangan. INSERT va COPY amallaridan foydalangan holda bo'lingan jadvallarga ma'lumotlarni qo'shish unumdorligi oshirildi, shuningdek, so'rovlar bajarilishini bloklamasdan "ALTER TABLE ATTACH PARTITION" orqali yangi bo'limlarni qo'shish mumkin;
  • Umumlashtirilgan jadval ifodalarini avtomatik ravishda kengaytirish uchun qo'shimcha yordam qo'shildi (Umumiy jadval ifodasi, CTE) WITH bayonoti yordamida belgilangan vaqtinchalik nomlangan natijalar to'plamidan foydalanishga imkon beradi. Inline joylashtirish ko'pgina so'rovlarning ishlashini yaxshilashi mumkin, ammo hozirda faqat rekursiv bo'lmagan CTE'lar uchun qo'llaniladi;
  • Qo'shilgan qo'llab-quvvatlash deterministik bo'lmagan Belgilarning ma'nosini hisobga olgan holda tartiblash qoidalari va moslashtirish usullarini o'rnatishga imkon beruvchi "Tartiblash" lokalining xususiyatlari (masalan, raqamli qiymatlarni saralashda, raqam va turli xil turlari oldida minus va nuqta mavjudligi). imlo e'tiborga olinadi va taqqoslashda belgilar holati va urg'u belgisining mavjudligi hisobga olinmaydi);
  • Ko'p faktorli mijoz autentifikatsiyasini qo'llab-quvvatlash qo'shildi, bunda pg_hba.conf da siz SSL sertifikati autentifikatsiyasini (clientcert=verify-full) autentifikatsiya qilish uchun scram-sha-256 kabi qo'shimcha autentifikatsiya usuli bilan birlashtirishingiz mumkin;
  • orqali autentifikatsiya qilishda aloqa kanalini shifrlash uchun qo'shimcha yordam GSSAPI, ham mijoz tomonida, ham server tomonida;
  • PostgreSQL OpenLDAP bilan qurilgan bo'lsa, "DNS SRV" yozuvlari asosida LDAP serverlarini aniqlash uchun qo'shimcha yordam;
  • Qo'shilgan operatsiya "QAYTA INDEKSIYA QILISH» indeksga yozish operatsiyalarini bloklamasdan indekslarni qayta tiklash;
  • Jamoa qo'shildi pg_checkssums, bu sizga mavjud ma'lumotlar bazasi uchun ma'lumotlar sahifalarining nazorat summalarini tekshirishni yoqish yoki o'chirish imkonini beradi (ilgari bu operatsiya faqat ma'lumotlar bazasini ishga tushirish paytida qo'llab-quvvatlanardi);
  • CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL va pg_checkssums operatsiyalari uchun progress indikatorining chiqishi taqdim etildi;
  • Qo'shilgan buyruq "KIRISH USULINI YARATING» turli maxsus vazifalar uchun optimallashtirilgan yangi jadval saqlash usullari uchun ishlov beruvchilarni ulash. Hozirda o'rnatilgan jadvalga kirishning yagona usuli bu "uyma";
  • recovery.conf konfiguratsiya fayli postgresql.conf bilan birlashtirildi. Muvaffaqiyatsizlikdan keyin tiklanish holatiga o'tish ko'rsatkichlari sifatida, hozir bo'lishi kerak recovery.signal va standby.signal fayllaridan foydalaning.

Manba: opennet.ru

a Izoh qo'shish