PostgreSQL 14 release

Saatos sataun pangwangunan, cabang stabil anyar tina DBMS PostgreSQL 14 parantos diterbitkeun. Pembaruan pikeun cabang énggal bakal dileupaskeun salami lima taun dugi ka Nopémber 2026.

Inovasi utama:

  • Ditambahkeun rojongan pikeun ngakses data JSON maké Asép Sunandar Sunarya-kawas ekspresi: SELECT ('{ "postgres": { "release": 14 }}':: jsonb)['postgres']['release']; PILIH * FROM test WHERE rinci[ 'atribut'][ 'ukuran'] = '"sedeng"';

    Sintaksis anu sami dilaksanakeun pikeun data konci / nilai anu disayogikeun ku jinis hstore. Sintaksis ieu mimitina dilaksanakeun nganggo kerangka universal, anu ka hareupna tiasa dianggo pikeun jinis anu sanés. Conto pikeun tipe hstore: INSERT kana nilai mytable ('a => b, c => d'); PILIH h['a'] TINA mytable; UPDATE mytable SET h['c'] = 'anyar';

  • Kulawarga tipe pikeun nangtukeun rentang geus dimekarkeun kalawan anyar "multirange" tipe, nu ngidinan Anjeun pikeun nangtukeun daptar maréntahkeun rentang non-tumpang tindih nilai. Salian unggal tipe rentang aya, tipe multirange sorangan diusulkeun, contona, tipe "int4range" pakait jeung "int4multirange", sarta tipe "daterange" pakait jeung "datemultirange". Pamakéan tipe anyar simplifies desain queries nu ngamanipulasi runtuyan kompléks rentang. PILIH '{[3,7), [8,9)}'::int4multirange; PILIH nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Optimasi parantos dilakukeun pikeun ningkatkeun kinerja sistem beban tinggi ngolah sajumlah ageung sambungan. Dina sababaraha tés, paningkatan dua kali lipat ditingali.
  • Efisiensi indéks B-tangkal parantos ningkat sareng masalah sareng pertumbuhan indéks nalika tabel sering diropéa parantos direngsekeun.
  • Ditambahkeun dukungan pikeun sisi klien (dilaksanakeun dina tingkat libpq) modus pangiriman pipa paménta, anu ngamungkinkeun anjeun sacara signifikan nyepetkeun skénario database anu aya hubunganana sareng ngalaksanakeun sajumlah ageung operasi nyerat leutik (INSERT / UPDATE / DELETE) ku ngirimkeun pamundut salajengna tanpa ngantosan hasil tina saméméhna. Modeu ogé mantuan nyepetkeun gawé dina sambungan kalawan reureuh pangiriman pakét panjang.
  • Kamampuhan ditingkatkeun pikeun konfigurasi disebarkeun ngalibetkeun sababaraha server PostgreSQL. Dina palaksanaan réplikasi logis, ayeuna jadi mungkin pikeun ngirim transaksi lumangsung dina modeu streaming, nu nyata bisa ngaronjatkeun kinerja réplikasi tina transaksi badag. Salaku tambahan, decoding logis data anu ditampi nalika réplikasi logis parantos dioptimalkeun.
  • Mékanisme pikeun nyambungkeun tabel éksternal Wrapper Data Asing (postgres_fdw) geus ditambahkeun rojongan pikeun ngolah query paralel, nu ayeuna ngan lumaku nalika nyambungkeun ka server PostgreSQL séjén. postgres_fdw ogé nambihan dukungan pikeun nambihan data kana tabel éksternal dina modeu angkatan sareng kamampuan pikeun ngimpor tabel anu dipisahkeun ku netepkeun diréktif "IMPORT FOREIGN SCHEMA".
  • Optimasi parantos dilakukeun pikeun palaksanaan operasi VACUUM (ngumpulan sampah sareng bungkusan panyimpenan disk). Modeu beberesih darurat parantos ditambahkeun anu ngalangkungan operasi beberesih anu henteu penting upami kaayaan bungkus ID transaksi diciptakeun. Ngurangan overhead nalika ngolah indéks dina format B-Tree. Palaksanaan operasi "ANALYZE", anu ngumpulkeun statistik ngeunaan operasi database, parantos gancangan sacara signifikan.
  • Ditambahkeun kamampuhan pikeun ngonpigurasikeun métode komprési dipaké dina sistem TOAST, nu tanggung jawab pikeun nyimpen data badag, kayaning blok téks atanapi informasi geometric. Salian metode komprési pglz, TOAST ayeuna tiasa nganggo algoritma LZ4.
  • Alat pikeun ngawaskeun operasi DBMS parantos dilegaan. Ditambahkeun pintonan pikeun ngalacak kamajuan COPY paréntah (pg_stat_progress_copy), statistik ngeunaan slot réplikasi (pg_stat_replication_slots) jeung kagiatan nu patali jeung log transaksi WAL (pg_stat_wal). Fungsi compute_query_id geus ditambahkeun, nu ngamungkinkeun rupa subsistem, kayaning pg_stat_activity jeung NERANGKEUN VERBOSE, pikeun ngalacak pamundut ku assigning hiji identifier unik pikeun tiap pamundut.
  • Optimizations geus ditambahkeun kana Nu Ngarencana query pikeun ngaronjatkeun ngolah paralel queries jeung ningkatkeun kinerja palaksanaan simultaneous operasi sequential scan scan, palaksanaan paralel queries dina PL/pgSQL ngagunakeun paréntah “RETURN QUERY”, jeung paralel palaksanaan queries dina “ REFRESH VIEW MATERIALIZED ". Pikeun ngaronjatkeun kinerja merges nested siklik (gabung), rojongan pikeun cache tambahan geus dilaksanakeun.
  • Statistik canggih ayeuna tiasa dianggo pikeun ngaoptimalkeun ekspresi, sareng asihan incremental ayeuna tiasa dianggo pikeun ngaoptimalkeun fungsi jandela.
  • Prosedur disimpen nu ngidinan Anjeun pikeun ngatur transaksi dina blok kode ayeuna ngarojong watesan balik data ngagunakeun parameter "OUT".
  • Nambahkeun fungsi date_bin kana nilai timestamp buleud dumasar kana interval nu tangtu. PILIH date_bin('15 menit', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Nambahkeun éksprési SEARCH sareng CYCLE didefinisikeun dina standar SQL pikeun ngagampangkeun mesen sareng ngaidentipikasi siklus dina éksprési Méja Umum (CTE) rekursif. KU RECURSIVE search_tree(id, link, data) AS ( SELECT t.id, t.link, t.data FROM tree t UNION ALL SELECT t.id, t.link, t.data FROM tree t, search_tree st WHERE t. id = st.link ) SEARCH DEPTH HEULA KU id SET ordercol SELECT * FROM search_tree ORDER BY ordercol;
  • Dina utilitas psql, autocompletion paréntah sareng tab parantos ningkat, kamampuan pikeun nampilkeun argumen fungsi parantos ditambah kana paréntah "\df", sareng statistik anu ditampilkeun parantos dilegaan kana paréntah "\dX".
  • Kasebut nyaéta dimungkinkeun pikeun napelkeun hak husus baca-wungkul atawa nulis-wungkul ka pamaké. Hak husus bisa diatur dina tabel individu, pintonan, jeung skéma ngagunakeun pg_read_all_data jeung pg_write_all_data kalungguhan tos siap. MEMBERI pg_read_all_data TO user1;
  • Pamasangan anyar standar pikeun auténtikasi sandi maké SCRAM-SHA-256 tinimbang md5 (parameter "password_encryption" nalika ngahasilkeun postgresql.conf ayeuna disetel ka 'scram-sha-256').

sumber: opennet.ru

Tambahkeun komentar