PostgreSQL 17 Yayınlandı: Sizi Neler Bekliyor?
PostgreSQL Küresel Geliştirme Grubu geçtiğimiz günlerde dünyanın en gelişmiş açık kaynak veri tabanının en son sürümü olan PostgreSQL 17’nin yayınlandığını duyurdu.
PostgreSQL güncel major sürümde kullanmanız, yalnızca güvenlik açıklarını gidermekle kalmaz, aynı zamanda sorgu hızı, veri işleme verimliliği ve bellek yönetimi gibi kritik alanlarda yapılan optimizasyonlar ile kurumsal veri yönetim süreçlerinizi destekler.
PostgreSQL 17 uçtan uca performans iyileştirmeleri içeriyor; vacuum işleminde hafıza kullanımının revizyonu, veri deposu erişimi ve eşzamanlı ağır yük talepleri için iyileştirmeler, bulk loading ve export işlemlerinin hızlandırılması, indeks sorgularındaki iyileştirmeler gibi özellikler öne çıkıyor.
PostgreSQL 17 ile yeni iş yükleri ve kritik sistemler daha iyi destekleniyor. SQL/JSON JSON_TABLE komutunun kullanımı sayesinde uygulama geliştirme olanakları daha kapsamlı hale geliyor. Mantıksal replikasyon ile ilgili gelişmeler sayesinde ise, yüksek erişilebilirlik ve majör sürüm yükseltme operasyonları daha basit yapılabiliyor.
Sistem Genelini Etkileyen Performans İyileştirmeleri
-
Eşzamanlı ağır yük altında write-ahead-log (WAL) işlemlerinde 2x misline varan performans artışı sağlanıyor
-
Yeni streaming I/O özellikleri sayesinde sıralı tarama işlemleri (sequential scan, bir tablodaki tüm kayıtların okunması) hızlanıyor, ANALYZE komutu tarafından yapılan sorgu planı güncellemeleri daha kısa sürede tamamlanıyor.
-
Varsayılan indeksleme yöntemi olan B-tree indekslerini kullanan ve IN terimini içeren sorguların performansı artıyor. Ek olarak, BRIN indekslerinin oluşturulması paralel olarak gerçekleştiriliyor.
-
Sorgularda NOT NULL constraint veya common-table-expression (CTE) WITH kullanılıyorsa, ilgili planlarda optimizasyonlar sağlanıyor.
-
128bit/256bit olan CPU vector işlem büyüklüğü 512bit oluyor (AVX-512). Ek olarak daha fazla Single Instruction / Multiple Data (SIMD) desteğinden yararlanılıyor.
Uygulama Geliştirme Tecrübesinin Sağlamlaştırılması, Geliştiriçi Deneyimin Daha da Genişletilmesi
-
JSON desteği PostgreSQL özelliklerine 2012 yılında dahil olmuştu. PostgreSQL 17 ile birlikte gelen JSON_TABLE özelliği, JSON verilerinin standart PostgreSQL tablosuna çevrilmesini sağlıyor. JSON_EXISTS, JSON_QUERY, JSON_VALUE sorguları yapılabiliyor, verinin jsonpath terimleri kullanılarak PostgreSQL veri tiplerine dönüştürülmesi kolaylaşıyor.
-
COPY komutuyla büyük boyutlu satırların işlenmesinde 2x misline varan performans iyileştirmesi sağlanıyor. COPY komutuna eklenen ON_ERROR seçeneği sayesinde insert işleminde hata alınsa bile devam etmesi mümkün oluyor.
-
Partition tablolarda identity kolon ve exclusion constraints tanımlanması yapılabiliyor. Postgres_fdw ilede artık EXISTS ve IN alt sorguları uzak sunucularda yürütülmesi mümkün oluyor.
-
PostgreSQL 17 ile birlikte, platform bağımsız ve entegre özellik olarak çalışan UTF-8 encoding özelliği bulunuyor. Bu özellik sayesinde metin bazlı sorguların sonuçları, tüm ortamlarda (collation özelliği ne olursa olsun) aynı sıralamada elde ediliyor.
Yüksek Erişilebilirlik ve Major Sürüm Yükseltmeleri için Mantıksal Replikasyon İyileştirmeleri
-
Güncel sürüm öncesinde yapılan major sürüm yükseltmelerinde, yeni sürüme geçilmesi sırasında mantıksal replikasyon için kullanılan slotlar düşüyor ve Mantıksal replikasyonun veriyi tekrar senkronize etmesi gerekiyordu. PostgreSQL 17 ve daha yeni sürümlerde, mantıksal replikasyon için kullanılan slotlar düşmediği için, sürüm yükseltme işlemleri çok daha basitçe yapılması mümkün olacak.
-
PostgreSQL 17 mantıksal replikasyon yük devretme (failover) özellikleri sayesinde, yüksek erişilirlik ortamlarında failover sonrası mantıksal replikasyonda kesinti olmaması mümkün kılındı.. Ayrıca, fiziksel replikanın mantıksal replikaya çevrilmesi için yeni komut satırı uygulaması (pg_createsubscriber) sunuluyor.
Güvenlik ve Sistem Yönetimi için Daha Fazla Seçenek
- PostgreSQL 17 varsayılan rol tanımlarında yeni olarak pg_maintain rolü geliyor, sistem bakımı yapan son kullanıcılar kolayca yetkilendiriliyor.
-
PostgreSQL bulunan pg_basebackup artık artımlı yedeklemeleri destekliyor ve fullbackup bu artımlı yedekler ile yeniden oluşturmak için pg_combinebackup yardımcı programını ekliyor.Böylelikle fullbackup tekrardan almadan varolan fullbackup güncel tarihe yaklaştırabiliriyor. Ek olarak pg_dump aracına eklenen yeni –filter seçeneği sayesinde, dump dosyasının hangi nesneleri kapsayacağı seçilebiliyor.
-
PostgreSQL 17, sistem izleme ve analizi için gelişmeleri barındırıyor. EXPLAIN komutunda I/O block okuma ve yazma süreleri de gösteriliyor ve iki seçenek sunuluyor: SERIALIZE, MEMORY, bu sayede iletişim altyapısında geçen süre ve hafıza kullanımı detayları görülebiliyor.
-
Indeks vacuum işlemlerinin ilerlemesi raporlanabiliyor. Bekleme sorunu yaşayan veritabanı bağlantıların incelenmesi için yeni gelen pg_wait_events ve pg_stat_activity kullanılarak daha detaylı bilgi elde ediliyor.
Daha fazla bilgi için: https://www.postgresql.org/about/news/postgresql-17-released-2936/v