PostgreSQL 13 DBMS sürümü

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

Ana yenilikler:

  • uygulandı tekilleştirme B-ağacı indekslerindeki kayıtlar, yinelenen veriler içeren kayıtları indekslerken sorgu performansını artırmayı ve disk alanı tüketimini azaltmayı mümkün kıldı. Tekilleştirme, yinelenen kayıt gruplarını birleştiren ve kopyaları depolanan bir kopyaya olan bağlantılarla değiştiren bir işleyicinin periyodik olarak başlatılması yoluyla gerçekleştirilir.
  • Kullanılan sorguların performansı iyileştirildi toplama işlevleri, gruplandırılmış setler (GRUPLANDIRMA SETLERİ) veya bölünmüş (bölümlendirilmiş) tablolar. Optimizasyonlar, toplama sırasında gerçek veriler yerine karmaların kullanılmasını içerir; bu, büyük sorguları işlerken tüm verilerin belleğe yerleştirilmesini önler. Bölümleme sırasında bölümlerin atılabileceği veya birleştirilebileceği durumların sayısı artırıldı.
  • Kullanma yeteneği eklendi gelişmiş istatistiklerOR koşullarını içeren sorguların veya IN veya ANY ifadelerini kullanan liste aramalarının zamanlama verimliliğini artırmak için CREATE STATISTICS komutu kullanılarak oluşturulur.
  • Çalışma sırasında indekslerin temizlenmesi hızlandırıldı VAKUM dizinlerdeki çöp toplama işlemini paralelleştirerek. Yeni "PARALLEL" parametresini kullanarak yönetici, VACUUM için aynı anda çalışacak iş parçacıklarının sayısını belirleyebilir. Veri eklenmesinden sonra otomatik VACUUM yürütmeyi başlatma yeteneği eklendi.
  • Sorgu işlemenin sonraki aşamalarında sıralamayı hızlandırmak için önceki aşamada sıralanan verileri kullanmanıza olanak tanıyan artımlı sıralama desteği eklendi. Sorgu planlayıcıda yeni optimizasyonu etkinleştirmek için “etkinleştirme_incremental_sort", varsayılan olarak etkindir.
  • Boyutu sınırlama yeteneği eklendi çoğaltma yuvaları, kopyaları alan tüm yedekleme sunucuları tarafından alınana kadar yazma tembel günlük (WAL) bölümlerinin korunmasını otomatik olarak garanti etmenize olanak tanır. Çoğaltma yuvaları ayrıca, yedekleme sunucusu çevrimdışı olsa bile birincil sunucunun çakışmalara neden olabilecek satırları silmesini de önler. Parametreyi kullanma max_slot_wal_keep_size Artık disk alanının dolmasını önlemek için WAL dosyalarının maksimum boyutunu sınırlayabilirsiniz.
  • DBMS etkinliğini izleme yetenekleri genişletildi: EXPLAIN komutu, WAL günlüğünün kullanımına ilişkin ek istatistiklerin görüntülenmesini sağlar; V pg_basebackup sürekli yedeklemelerin durumunu takip etme fırsatı sağlandı; ANALYZE komutu işlemin ilerleyişinin bir göstergesini sağlar.
  • Yeni komut eklendi pg_verifybackup pg_basebackup komutu tarafından oluşturulan yedeklemelerin bütünlüğünü kontrol etmek için.
  • Operatörleri kullanarak JSON ile çalışırken jsonpat Datetime() fonksiyonunun zaman formatlarını (ISO 8601 dizeleri ve yerel PostgreSQL zaman türleri) dönüştürmek için kullanılmasına izin verir. Örneğin, "jsonb_path_query('["2015-8-1", "2015-08-12"]', '$[*] ? (@.datetime() < "2015-08-2" yapılarını kullanabilirsiniz. ".datetime ())')" ve "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')".
  • Yerleşik işlev eklendi gen_random_uuid () UUID v4'ü oluşturmak için.
  • Bölümleme sistemi, mantıksal çoğaltma ve “BEFORE” ifadesiyle belirtilenler için tam destek sağlar
    satır düzeyinde çalışan tetikleyiciler.

  • Sözdizimi "İLK GET" artık "ORDER BY" uygulandıktan sonra elde edilen sonuç kümesinin sonundaki ek satırları döndürmek için "WITH TIES" ifadesinin kullanılmasına izin veriyor.
  • Güvenilir eklentiler konseptini uyguladık (“güvenilir uzantı"), DBMS yönetici haklarına sahip olmayan sıradan kullanıcılar tarafından kurulabilir. Bu tür eklentilerin listesi başlangıçta önceden tanımlanmıştır ve süper kullanıcı tarafından genişletilebilir. Güvenilir eklentiler şunları içerir: pgkripto, tablo işlevi, mağaza vb
  • Harici tabloları bağlama mekanizması Yabancı Veri Sarmalayıcı (postgres_fdw), sertifika tabanlı kimlik doğrulama desteğini uygular. SCRAM kimlik doğrulaması kullanıldığında, istemcilerin "kanal bağlama"(kanal bağlama).

Kaynak: opennet.ru

Yorum ekle