Release van de RDBMS PostgreSQL 15

Na een jaar van ontwikkeling is de nieuwe stabiele tak van de database PostgreSQL 15 uitgebracht. Updates voor deze tak zullen gedurende vijf jaar tot november 2027 worden uitgebracht.

Belangrijkste vernieuwingen:

  • Ondersteuning voor de SQL-opdracht 'MERGE' is toegevoegd, die lijkt op de instructie 'INSERT ... ON CONFLICT'. MERGE maakt het mogelijk om voorwaardelijke SQL-instructies te creĆ«ren die in ƩƩn instructie de operaties INSERT, UPDATE en DELETE combineren. Zo kan met MERGE een samensmelting van twee tabellen worden georganiseerd, waarbij ontbrekende records worden ingevoegd en bestaande records worden bijgewerkt. MERGE INTO customer_account ca USING recent_transactions t ON t.customer_id = ca.customer_id WHEN MATCHED THEN UPDATE SET balance = balance + transaction_value WHEN NOT MATCHED THEN INSERT (customer_id, balance) VALUES (t.customer_id, t.transaction_value);
  • De algoritmen voor gegevenssortering in het geheugen en op schijf zijn aanzienlijk verbeterd. Afhankelijk van het datatype wordt in tests een snelheidstoename van 25% tot 400% waargenomen.
  • De prestaties van vensterfuncties met het gebruik van row_number(), rank(), dense_rank() en count() zijn versneld.
  • Er is de mogelijkheid gerealiseerd om vragen parallel uit te voeren met de instructie 'SELECT DISTINCT'.
  • In het mechanisme voor het aansluiten van externe tabellen Foreign Data Wrapper (postgres_fdw) is ondersteuning voor asynchrone commits geĆÆmplementeerd, naast de eerder toegevoegde mogelijkheid voor asynchrone verwerking van aanvragen naar externe servers.
  • Er is de mogelijkheid toegevoegd om de algoritmen LZ4 en Zstandard (zstd) te gebruiken voor het comprimeren van WAL-logboeken van transacties, wat bij bepaalde workloads tegelijkertijd de prestaties kan verhogen en schijfruimte kan besparen. Ter verkorting van de hersteltijd na een storing is ondersteuning voor proactieve pagina-extractie, die in het WAL-logboek voorkomt, toegevoegd.
  • De utility pg_basebackup heeft ondersteuning gekregen voor compressie van bestanden met back-ups aan de serverzijde, de server, met gebruik van methoden gzip, LZ4 of zstd. Er is de mogelijkheid geboden om eigen modules voor archivering te gebruiken, waardoor het niet nodig is om shell-opdrachten uit te voeren.
  • Een reeks nieuwe functies voor het verwerken van tekenreeksen met behulp van reguliere expressies is toegevoegd: regexp_count(), regexp_instr(), regexp_like() en regexp_substr().
  • Aan de functie range_agg() is de mogelijkheid tot aggregatie van multi-range types ('multirange') toegevoegd.
  • De modus security_invoker is toegevoegd, waardoor weergaven kunnen worden gemaakt die worden uitgevoerd met de rechten van de aanroepende gebruiker in plaats van de maker van de weergave.
  • Logische replicatie ondersteunt nu het filteren van rijen en het specificeren van kolomlijsten, waarmee aan de verzendzijde een subset van gegevens uit een tabel voor replicatie kan worden geselecteerd. Bovendien is in de nieuwe versie het beheer van conflicten vereenvoudigd, bijvoorbeeld, de mogelijkheid om conflicterende transacties over te slaan en de automatische uitschakeling van de verzending bij het ontdekken van een fout. Bij logische replicatie is het gebruik van twee-fasen commits (2PC) toegestaan.
  • Een nieuw logformaat is toegevoegd — jsonlog, dat informatie in een gestructureerde vorm opslaat met behulp van het JSON-formaat.
  • De beheerder heeft de mogelijkheid gekregen om bepaalde bevoegdheden voor het wijzigen van specifieke parameters aan gebruikers te delegeren. de serverconfiguratie PostgreSQL.
  • De psql-tool heeft nu ondersteuning voor het opzoeken van informatie over instellingen (pg_settings) met het commando "\dconfig".
  • Er is ondersteuning voor gedeeld geheugen toegevoegd voor het verzamelen van statistieken over de werking van de server, waardoor een apart proces voor het verzamelen van statistieken en het periodiek opslaan van de status op schijf overbodig is geworden.
  • Er is de mogelijkheid toegevoegd om standaard ICU-lokalen "ICU Collation" te gebruiken; eerder kon alleen libc-lokalen als standaard gebruikt worden.
  • Er is een ingebouwd extensie pg_walinspect voorgesteld, waarmee de inhoud van WAL-logbestanden met behulp van SQL-opdrachten kan worden geĆÆnspecteerd.
  • Voor het public-schema zijn de bevoegdheden om het commando CREATE uit te voeren voor alle gebruikers, met uitzondering van de eigenaar van de database, ingetrokken.
  • In PL/Python is de ondersteuning voor Python 2 verwijderd. De verouderde exclusieve back-upmodus is verwijderd.

Aanvulling: Van 19:00 tot 20:00 (MSK) vindt er een webinar plaats met een bespreking van de wijzigingen in de nieuwe versie met Pavel Luzanov (Postgres Professional). Voor degenen die niet live kunnen deelnemen, is er een opname beschikbaar van de juni-presentatie van Pavel "PostgreSQL 15: MERGE en meer" op PGConf.Russia.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster