Rilis DBMS PostgreSQL 15

Setelah satu tahun pengembangan, cabang stabil baru dari DBMS PostgreSQL 15 telah diterbitkan. Pembaruan untuk cabang baru tersebut akan dirilis selama lima tahun hingga November 2027.

Inovasi utama:

  • Menambahkan dukungan untuk perintah SQL "MERGE", yang menyerupai ekspresi "INSERT...ON CONFLICT". MERGE memungkinkan Anda membuat pernyataan SQL bersyarat yang menggabungkan operasi INSERT, UPDATE, dan DELETE menjadi satu ekspresi. Misalnya, menggunakan MERGE, Anda bisa menggabungkan dua tabel dengan menyisipkan catatan yang hilang dan memperbarui yang sudah ada. GABUNG KE Rekening_pelanggan ca MENGGUNAKAN transaksi_terbaru t PADA t.customer_id = ca.customer_id BILA COCOK LALU UPDATE SET saldo = saldo + nilai_transaksi BILA TIDAK COCOK LAGI MASUKKAN (customer_id, saldo) VALUES (t.customer_id, t.transaction_value);
  • Algoritma untuk menyortir data dalam memori dan disk telah ditingkatkan secara signifikan. Tergantung pada jenis datanya, pengujian menunjukkan peningkatan kecepatan penyortiran dari 25% menjadi 400%.
  • Fungsi jendela yang menggunakan row_number(), rank(), density_rank() dan count() telah dipercepat.
  • Kemungkinan eksekusi paralel kueri dengan ekspresi “SELECT DISTINCT” telah diterapkan.
  • Mekanisme untuk menghubungkan tabel eksternal Pembungkus Data Asing (postgres_fdw) mengimplementasikan dukungan untuk penerapan asinkron selain kemampuan yang ditambahkan sebelumnya untuk memproses permintaan ke server eksternal secara asinkron.
  • Menambahkan kemampuan untuk menggunakan algoritma LZ4 dan Zstandard (zstd) untuk mengompresi log transaksi WAL, yang, dalam beberapa beban kerja, secara bersamaan dapat meningkatkan kinerja dan menghemat ruang disk. Untuk mengurangi waktu pemulihan setelah kegagalan, dukungan untuk pengambilan proaktif halaman yang muncul di log WAL telah ditambahkan.
  • Utilitas pg_basebackup telah menambahkan dukungan untuk kompresi file cadangan di sisi server menggunakan metode gzip, LZ4 atau zstd. Dimungkinkan untuk menggunakan modul Anda sendiri untuk pengarsipan, sehingga Anda dapat melakukannya tanpa perlu menjalankan perintah shell.
  • Serangkaian fungsi baru telah ditambahkan untuk memproses string menggunakan ekspresi reguler: regexp_count(), regexp_instr(), regexp_like() dan regexp_substr().
  • Kemampuan untuk menggabungkan tipe multirentang (“multirentang”) telah ditambahkan ke fungsi range_agg().
  • Menambahkan mode security_invoker, yang memungkinkan Anda membuat tampilan yang dijalankan sebagai pengguna pemanggil, bukan pembuat tampilan.
  • Untuk replikasi logis, dukungan untuk memfilter baris dan menentukan daftar kolom telah diterapkan, memungkinkan pihak pengirim untuk memilih subset data dari tabel untuk direplikasi. Selain itu, versi baru menyederhanakan manajemen konflik, misalnya, sekarang dimungkinkan untuk melewati transaksi konflik dan secara otomatis menonaktifkan langganan ketika kesalahan terdeteksi. Replikasi logis memungkinkan penggunaan komitmen dua fase (2PC).
  • Format log baru telah ditambahkan - jsonlog, yang menyimpan informasi dalam bentuk terstruktur menggunakan format JSON.
  • Administrator memiliki kemampuan untuk mendelegasikan hak individu kepada pengguna untuk mengubah parameter konfigurasi server PostgreSQL tertentu.
  • Utilitas psql telah menambahkan dukungan untuk mencari informasi tentang pengaturan (pg_settings) menggunakan perintah “\dconfig”.
  • Penggunaan memori bersama dipastikan untuk mengumpulkan statistik tentang operasi server, yang memungkinkan untuk menghilangkan proses terpisah pengumpulan statistik dan mengatur ulang status ke disk secara berkala.
  • Kemampuan untuk menggunakan lokal ICU default “ICU Collation” telah disediakan; sebelumnya, hanya lokal libc yang dapat digunakan sebagai lokal default.
  • Ekstensi bawaan pg_walinspect telah diusulkan, yang memungkinkan Anda memeriksa konten file dengan log WAL menggunakan kueri SQL.
  • Untuk skema publik, semua pengguna, kecuali pemilik database, telah dicabut kewenangannya untuk menjalankan perintah CREATE.
  • Dukungan untuk Python 2 telah dihapus di PL/Python. Mode pencadangan eksklusif yang usang telah dihapus.

Tambahan: Mulai pukul 19:00 hingga 20:00 (MSK) akan ada webinar yang membahas perubahan versi baru bersama Pavel Luzanov (Postgres Professional). Bagi mereka yang tidak dapat mengikuti siaran ini, rekaman laporan Pavel bulan Juni “PostgreSQL 15: MERGE dan lainnya” di PGConf.Russia telah dibuka.

Sumber: opennet.ru

Tambah komentar