PostgreSQL 14 DBMS Verëffentlechung

No engem Joer vun der Entwécklung ass eng nei stabil Branche vum PostgreSQL 14 DBMS publizéiert ginn.Updates fir déi nei Branche ginn iwwer fënnef Joer bis November 2026 verëffentlecht.

Haaptinnovatiounen:

  • Ënnerstëtzung bäigefüügt fir Zougang zu JSON Daten mat arrayähnlechen Ausdréck: SELECT ("{"postgres": {"release": 14 }}'::jsonb)['postgres']['release']; SELECT * FROM test WHERE details['attributes']['size'] = '"medium"';

    Eng ähnlech Syntax gëtt fir d'Schlëssel / Wäertdaten implementéiert, déi vum hstore Typ geliwwert ginn. Dës Syntax gouf am Ufank mat engem universelle Kader ëmgesat, deen an Zukunft fir aner Aarte benotzt ka ginn. Beispill fir hstore Typ: INSERT INTO mytable VALUES ('a => b, c => d'); SELECT h['a'] VUN mytable; UPDATE mytable SET h['c'] = 'nei';

  • D'Famill vun Typen fir Beräicher ze definéieren gouf mat neie "Multirange" Typen erweidert, déi Iech erlaabt Iech bestallte Lëschte vun net iwwerlappende Wäertberäicher ze spezifizéieren. Zousätzlech zu all existéierenden Sortimentart gëtt säin eegene Multirange-Typ proposéiert, zum Beispill den Typ "int4range" entsprécht "int4multirange", an den Typ "daterange" entsprécht "datemultirange". D'Benotzung vun neien Typen vereinfacht den Design vun Ufroen déi komplex Sequenze vu Beräicher manipuléieren. SELECT '{[3,7), [8,9)}'::int4multirange; SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Optimisatiounen goufen gemaach fir d'Performance vun High-Laast Systemer ze verbesseren, déi eng grouss Zuel vu Verbindungen veraarbecht. A verschiddenen Tester gëtt eng duebel Erhéijung vun der Leeschtung beobachtet.
  • D'Effizienz vun B-Bam Indexen gouf verbessert an de Problem mam Index Wuesstem wann Dëscher dacks aktualiséiert ginn ass geléist.
  • Zousätzlech Ënnerstëtzung fir de Client-Säit (implementéiert um libpq Niveau) Modus vun der Pipeline Iwwerdroung vun Ufroen, wat Iech erlaabt Datebank Szenarie wesentlech ze beschleunegen, verbonne mat der Ausféierung vun enger grousser Unzuel vu klenge Schreifoperatiounen (INSERT/UPDATE/DELETE) andeems Dir de nächst Ufro ouni d'Resultat vun der viregter ze waarden. De Modus hëlleft och d'Aarbecht op Verbindungen mat laange Paketverzögerungen ze beschleunegen.
  • Verbesserte Fäegkeeten fir verdeelt Konfiguratiounen mat multiple PostgreSQL Serveren involvéiert. An der Ëmsetzung vun der logescher Replikatioun gëtt et elo méiglech Transaktiounen am Streaming Modus ze schécken, déi am Prozess vun der Ausféierung sinn, wat d'Performance vun der Replikatioun vu grousse Transaktioune wesentlech verbesseren kann. Zousätzlech ass d'logesch Dekodéierung vun Daten, déi während der logescher Replikatioun kritt goufen, optimiséiert.
  • De Mechanismus fir extern Dëscher ze verbannen Auslännesch Data Wrapper (postgres_fdw) huet Ënnerstëtzung fir d'parallel Ufroveraarbechtung bäigefüügt, déi momentan nëmmen applicabel ass wann Dir mat anere PostgreSQL Server verbënnt. postgres_fdw füügt och Ënnerstëtzung fir Daten un externen Dëscher am Batchmodus ze addéieren an d'Fäegkeet fir partitionéiert Dëscher z'importéieren andeems Dir d'Direktiv "IMPORT FOREIGN SCHEMA" spezifizéiert.
  • Optimisatiounen goufen fir d'Ëmsetzung vun der VACUUM Operatioun (Müllsammlung a Verpakung vun der Disklagerung) gemaach. En Noutreinigungsmodus gouf bäigefüügt deen net wesentlech Botzoperatiounen iwwerspréngt wann Transaktiouns-ID Wraparound Bedéngungen erstallt ginn. Reduzéiert Overhead beim Veraarbechtung vun Indexen am B-Tree Format. D'Ausféierung vun der Operatioun "ANALYZE", déi Statistiken iwwer d'Operatioun vun der Datebank sammelt, gouf wesentlech beschleunegt.
  • D'Fäegkeet bäigefüügt fir d'Kompressiounsmethod ze konfiguréieren déi am TOAST System benotzt gëtt, dee verantwortlech ass fir grouss Daten ze späicheren, wéi Textblocken oder geometresch Informatioun. Zousätzlech zu der pglz Kompressiounsmethod kann TOAST elo den LZ4 Algorithmus benotzen.
  • D'Tools fir d'Iwwerwaachung vun der Operatioun vum DBMS goufen erweidert. Dobäi Meenungen de Fortschrëtt vun COPY Kommandoen ze verfollegen (pg_stat_progress_copy), Statistiken iwwer Replikatioun Plaze (pg_stat_replication_slots) an Aktivitéit Zesummenhang mat der WAL Transaktioun Log (pg_stat_wal). D'compute_query_id Funktioun gouf bäigefüügt, wat et verschidden Ënnersystemer erméiglecht, wéi pg_stat_activity an EXPLAIN VERBOSE, Ufroen ze verfollegen andeems en eenzegaartegen Identifizéierer fir all Ufro zougitt.
  • Optimisatiounen goufen zum Ufroplaner bäigefüügt fir d'Parallelveraarbechtung vun den Ufroen ze verbesseren an d'Performance vun der simultaner Ausféierung vu sequentielle Rekordscannoperatiounen ze verbesseren, parallel Ausféierung vun Ufroen am PL/pgSQL mam Kommando "RETURN QUERY" a parallel Ausféierung vun Ufroen am " REFRESH MATERIALISÉIERT VICHT ". Fir d'Leeschtungsfähegkeet vun zyklesch nested Fusioun ze verbesseren (join), Ënnerstëtzung fir zousätzlech Caching gouf ëmgesat.
  • Fortgeschratt Statistike kënnen elo benotzt ginn fir Ausdréck ze optimiséieren, an inkrementell Sortéierung kann elo benotzt ginn fir Fënsterfunktiounen ze optimiséieren.
  • Gespäichert Prozeduren, déi Iech erlaben Transaktiounen a Codeblocken ze verwalten, ënnerstëtzen elo d'Definitioun vun Retourdaten mat "OUT" Parameteren.
  • Date_bin Funktioun bäigefüügt fir Zäitstempel Wäerter no engem spezifizéierte Intervall ze ronnen. SELECT date_bin('15 minutes', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020 02:11 Uhr
  • SEARCH an CYCLE Ausdréck bäigefüügt, definéiert am SQL Standard fir et méi einfach ze maachen, Zyklen a rekursive Common Table Expressions (CTE) ze bestellen an z'identifizéieren. MAT 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 WOU t. id = st.link) SEARCH DEPTH FIRST BY ID SET ordercol SELECT * FROM search_tree ORDER BY ordercol;
  • Am psql Utility ass d'Autocompletion vu Kommandoen mat Tabs verbessert ginn, d'Fäegkeet fir Funktiounsargumenter ze weisen ass op de Kommando "\df" bäigefüügt, an déi ugewisen Statistike goufen op de Kommando "\dX" erweidert.
  • Et ass méiglech d'Benotzer nëmme Lies- oder Schreiwe-Privilegien ze ginn. Privilegien kënnen op eenzel Dëscher, Usiichten a Schemae gesat ginn mat de virdefinéierte Rollen pg_read_all_data a pg_write_all_data. GRANT pg_read_all_data BIS Benotzer1;
  • Nei Installatiounen Standard op Passwuert Authentifikatioun mat SCRAM-SHA-256 anstatt md5 (de "Password_encryption" Parameter beim Generéiere vun postgresql.conf ass elo op 'scram-sha-256' gesat).

Source: opennet.ru

Setzt e Commentaire