PostgreSQL 12 DBMS sürümü

Bir yıllık geliştirmenin ardından yayınlanan PostgreSQL 12 DBMS'nin yeni kararlı dalı. Yeni dal için güncellemeler cıkacak Kasım 2024'e kadar beş yıl süreyle.

Ana yenilikler:

  • " için destek eklendioluşturulan sütunlar", değeri aynı tablodaki diğer sütunların değerlerini kapsayan bir ifadeye göre hesaplanır (görünümlere benzer, ancak ayrı sütunlar için). Oluşturulan sütunlar iki türde olabilir: depolanan ve sanal. İlk durumda değer, veri eklendiğinde veya değiştirildiğinde hesaplanır ve ikinci durumda değer, diğer sütunların mevcut durumuna göre her okumada hesaplanır. Şu anda PostgreSQL yalnızca depolanan oluşturulan sütunları desteklemektedir;
  • kullanarak JSON belgelerinden veri sorgulama yeteneği eklendi. Yol ifadeleribenzeyen XPath ve SQL/JSON standardında tanımlanmıştır. JSONB formatında saklanan belgeler için bu tür ifadelerin işlenmesinin verimliliğini artırmak için mevcut indeksleme mekanizmaları kullanılır;
  • Varsayılan olarak etkin olan, SQL sorgusu işleme sırasında bazı ifadelerin yürütülmesini hızlandırmak için LLVM geliştirmelerini temel alan bir JIT (Tam Zamanında) derleyicisinin kullanılmasıdır. Örneğin JIT, WHERE blokları, hedef listeleri, toplu ifadeler ve bazı dahili işlemler içindeki ifadelerin yürütülmesini hızlandırmak için kullanılır;
  • Dizin oluşturma performansı önemli ölçüde iyileştirildi. B-ağacı dizinleri, dizinlerin sık sık değiştiği ortamlarda çalışacak şekilde optimize edilmiştir - TPC-C testleri, performansta genel bir artış ve disk alanı tüketiminde ortalama %40'lık bir azalma olduğunu göstermektedir. GiST, GIN ve SP-GiST dizin türleri için yazma öncesi günlüğü (WAL) oluştururken ek yük azaltıldı. GiST için ek sütunlar içeren sarmalayıcı dizinler (INCLUDE ifadesi aracılığıyla) oluşturma yeteneği eklendi. Çalışır durumda İSTATİSTİK OLUŞTUR Eşit olmayan şekilde dağıtılmış sütunlar kullanıldığında daha optimum sorgu planları oluşturmak için En Ortak Değer (MCV) istatistiklerine destek sağlar;
  • Bölümleme uygulaması, binlerce bölüme sahip tabloları kapsayan sorgular için optimize edilmiştir ancak sınırlı bir veri alt kümesinin seçilmesiyle sınırlıdır. INSERT ve COPY işlemlerini kullanarak bölümlenmiş tablolara veri ekleme performansı artırıldı ve ayrıca sorgu yürütmeyi engellemeden “ALTER TABLE ATTACH PARTITION” aracılığıyla yeni bölümler eklemek de mümkün;
  • Genelleştirilmiş tablo ifadelerinin otomatik satır içi genişletilmesi için destek eklendi (Ortak Tablo İfadesi, CTE), With ifadesi kullanılarak belirtilen geçici adlandırılmış sonuç kümelerinin kullanımına izin verir. Satır içi dağıtım çoğu sorgunun performansını artırabilir ancak şu anda yalnızca özyinelemeli olmayan CTE'ler için kullanılmaktadır;
  • Destek eklendi kararsız karakterlerin anlamını dikkate alarak sıralama kurallarını ve eşleştirme yöntemlerini ayarlamanıza olanak tanıyan “Harmanlama” yerel ayarının özellikleri (örneğin, dijital değerleri sıralarken, bir sayının önünde bir eksi ve bir noktanın varlığı ve farklı türler) yazım dikkate alınır ve karşılaştırma sırasında karakterlerin durumu ve aksan işaretinin varlığı dikkate alınmaz);
  • pg_hba.conf dosyasında SSL sertifikası kimlik doğrulamasını (clientcert=verify-full) kimlik doğrulama için scram-sha-256 gibi ek bir kimlik doğrulama yöntemiyle birleştirebileceğiniz çok faktörlü istemci kimlik doğrulaması desteği eklendi;
  • Kimlik doğrulaması sırasında iletişim kanalının şifrelenmesi için destek eklendi GSSAPIhem istemci tarafında hem de sunucu tarafında;
  • PostgreSQL'in OpenLDAP ile oluşturulmuş olması durumunda "DNS SRV" kayıtlarına dayalı olarak LDAP sunucularının belirlenmesine yönelik destek eklendi;
  • İşlem eklendi "EŞZAMANLI OLARAK REINDEX» dizine yazma işlemlerini engellemeden dizinleri yeniden oluşturmak;
  • Komut eklendi pg_checksumsmevcut bir veritabanı için veri sayfalarının kontrol toplamlarını etkinleştirmenizi veya devre dışı bırakmanızı sağlar (daha önce bu işlem yalnızca veritabanı başlatma sırasında destekleniyordu);
  • CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL ve pg_checksums işlemleri için ilerleme göstergesi çıktısı sağlandı;
  • Komut eklendi "ERİŞİM YÖNTEMİ OLUŞTURUN» çeşitli özel görevler için optimize edilmiş yeni tablo depolama yöntemleri için işleyicileri bağlamak. Şu anda tek yerleşik tablo erişim yöntemi "heap"tir;
  • Recovery.conf yapılandırma dosyası postgresql.conf ile birleştirildi. Bir başarısızlıktan sonra iyileşme durumuna geçişin göstergeleri olarak, şimdi gerektiği Recovery.signal ve standby.signal dosyalarını kullanın.

Kaynak: opennet.ru

Yorum ekle