PostgreSQL, juga disebut Postgres, adalah sistem manajemen basis data relasional berorientasi objek open source.
Setelah 11 bulan pengembangan, rilis versi baru PostgreSQL 16 diumumkan . Cabang stabil baru dari DBMS ini akan menerima pembaruan selama lima tahun, hingga November 2028. Ini juga menandai berakhirnya cabang PostgreSQL 11.x, cabang tertua yang saat ini didukung, yang akan dihentikan pada 9 November.
Bagi yang masih belum familiar dengan PostgreSQL, yang juga dikenal sebagai Postgres, adalah sistem manajemen basis data relasional (RDBMS) sumber terbuka dan gratis yang bertujuan untuk menawarkan basis data berdasarkan kemampuan perluasan dan kepatuhan terhadap standar teknis.
Fitur baru utama PostgreSQL 16
Versi baru PostgreSQL 16 ini menghadirkan alat kontrol akses yang diperluas untuk replikasi logis. Misalnya, fungsi bawaan baru, "pg_create_subscription," telah ditambahkan, yang memungkinkan pengguna untuk diberikan hak untuk membuat langganan baru.
Dukungan untuk penyeimbangan beban telah ditambahkan ke sisi klien menggunakan pustaka libpq standar. Penyeimbangan beban memungkinkan klien untuk terhubung ke host yang berbeda, yang dapat dipilih dalam urutan tertentu atau acak. Jika host tidak tersedia, koneksi ke server lain akan dicoba. Setelah koneksi terjalin, permintaan dalam sesi dikirim ke server yang dipilih.
Selain itu, optimasi telah dilakukan dan kinerja perencana kueri telah ditingkatkan, karena menyediakan paralelisasi operasi penggabungan tabel » FULLY » dan » RIGHT JOIN ».
Di PostgreSQL 16, kita juga menemukan dukungan yang diperluas untuk locale "Collation" , yang memungkinkan Anda untuk mengatur aturan pengurutan dan metode perbandingan berdasarkan arti karakter. Secara default, sekarang dikompilasi dengan locale ICU alih-alih locale libc.
Performa replikasi logis telah ditingkatkan , karena kemampuan untuk menggunakan prosesor yang berjalan secara bersamaan telah diimplementasikan , di samping kemampuan untuk menggunakan indeks B-tree untuk tabel tanpa kunci utama, yang menghilangkan kebutuhan pemindaian berurutan saat mencari catatan, dan sinkronisasi awal beberapa tabel dalam format biner juga telah dipercepat.
Peningkatan lain pada mekanisme replikasi logis adalah kini memungkinkan perubahan yang dilakukan pada basis data saat menambahkan, menghapus, atau memperbarui data untuk ditransmisikan ke server lain; mekanisme ini telah diperluas dengan kemampuan untuk mereplikasi perubahan dari server cadangan.
Dukungan untuk replikasi logis dua arah pada tabel juga ditambahkan , memungkinkan perubahan disinkronkan antara dua tabel di server yang berbeda. Kemampuan replikasi yang ditambahkan ke PostgreSQL 16 memungkinkan pembuatan konfigurasi multi-server (mode aktif-aktif), di mana operasi INSERT, UPDATE, dan DELETE dapat dilakukan secara bersamaan.
Perubahan penting lainnya meliputi:
- Mengoptimalkan penggunaan operasi “RIGHT JOIN” dan “OUTER JOIN” untuk menemukan baris yang tidak ada dalam tabel yang digabungkan (“anti-join”).
- Peningkatan efisiensi rencana pengoptimalan untuk kueri yang menggunakan fungsi agregat yang dikombinasikan dengan klausa DISTINCT atau ORDER BY.
- Penyortiran tambahan digunakan untuk mempercepat kueri SELECT DISTINCT.
Strategi operasi VACUUM telah ditingkatkan untuk mengurangi jumlah situasi yang memerlukan penguncian seluruh meja. - Pada arsitektur x86 dan ARM, instruksi prosesor vektor (SIMD) diimplementasikan untuk mempercepat pemrosesan string ASCII, operasi pada data JSON, dan melakukan pencarian array dan subtransaksi.
- Modul “auto_explain” sekarang menyertakan dukungan untuk nilai logging yang diteruskan ke kueri berparameter.
- Meningkatkan akurasi algoritme pelacakan permintaan yang digunakan dalam tampilan pg_stat_statements dan pg_stat_activity.
- Kemampuan untuk memantau kinerja DBMS telah diperluas. Menambahkan tampilan layanan » pg_stat_io » dengan statistik yang mencerminkan beban pada sistem I/O oleh berbagai backend (pekerja latar belakang, autovacuum, dll.) dan objek.
- Bidang baru telah ditambahkan ke tampilan layanan » pg_stat_all_tables » dengan informasi tentang waktu pemindaian terakhir tabel atau indeks.
Terakhir, jika Anda tertarik untuk mempelajari lebih lanjut, Anda dapat menemukan detailnya di tautan berikut.