PostgreSQL 12 DBMS-release

Na een jaar van ontwikkeling gepubliceerd nieuwe stabiele tak van de PostgreSQL 12 DBMS. Updates voor de nieuwe tak zal uitkomen voor vijf jaar tot november 2024.

De belangrijkste innovaties:

  • Ondersteuning toegevoegd voor "gegenereerde kolommen", waarvan de waarde wordt berekend op basis van een uitdrukking die de waarden van andere kolommen in dezelfde tabel omvat (vergelijkbaar met weergaven, maar voor individuele kolommen). De gegenereerde kolommen kunnen van twee typen zijn: opgeslagen en virtueel. In het eerste geval wordt de waarde berekend op het moment dat gegevens worden toegevoegd of gewijzigd, en in het tweede geval wordt de waarde berekend bij elke lezing op basis van de huidige status van andere kolommen. Momenteel ondersteunt PostgreSQL alleen opgeslagen gegenereerde kolommen;
  • De mogelijkheid toegevoegd om gegevens uit JSON-documenten op te vragen met behulp van Pad-expressies, doet denken XPath en gedefinieerd in de SQL/JSON-standaard. Bestaande indexeringsmechanismen worden gebruikt om de efficiëntie van het verwerken van dergelijke expressies voor documenten die zijn opgeslagen in het JSONB-formaat te verbeteren;
  • Standaard ingeschakeld is het gebruik van een JIT-compiler (Just-in-Time) op basis van LLVM-ontwikkelingen om de uitvoering van sommige expressies tijdens de verwerking van SQL-query's te versnellen. JIT wordt bijvoorbeeld gebruikt om de uitvoering van expressies binnen WHERE-blokken, doellijsten, geaggregeerde expressies en sommige interne bewerkingen te versnellen;
  • De indexeringsprestaties zijn aanzienlijk verbeterd. B-tree-indexen zijn geoptimaliseerd om te werken in omgevingen waar indexen regelmatig veranderen. TPC-C-tests laten een algehele prestatieverbetering en een gemiddelde vermindering van het schijfruimteverbruik van 40% zien. Minder overhead bij het genereren van write-ahead log (WAL) voor GiST-, GIN- en SP-GiST-indextypen. Voor GiST is de mogelijkheid toegevoegd om wrapperindexen te maken (via de INCLUDE-expressie) die extra kolommen bevatten. In bedrijf CREËER STATISTIEKEN Biedt ondersteuning voor MCV-statistieken (Most Common Value) om optimalere queryplannen te genereren bij gebruik van ongelijk verdeelde kolommen;
  • De implementatie van partities is geoptimaliseerd voor query's die tabellen met duizenden partities omvatten, maar die beperkt zijn tot het selecteren van een beperkte subset van gegevens. De prestaties van het toevoegen van gegevens aan gepartitioneerde tabellen met behulp van INSERT- en COPY-bewerkingen zijn verbeterd, en het is ook mogelijk om nieuwe secties toe te voegen via "ALTER TABLE ATTACH PARTITION" zonder de uitvoering van query's te blokkeren;
  • Ondersteuning toegevoegd voor automatische inline-uitbreiding van gegeneraliseerde tabelexpressies (Gemeenschappelijke tabeluitdrukking, CTE) die het gebruik van tijdelijke benoemde resultaatsets toestaan ​​die zijn opgegeven met de WITH-instructie. Inline-implementatie kan de prestaties van de meeste zoekopdrachten verbeteren, maar wordt momenteel alleen gebruikt voor niet-recursieve CTE's;
  • Ondersteuning toegevoegd niet-deterministisch eigenschappen van de landinstelling “Collatie”, waarmee u sorteerregels en matchingmethoden kunt instellen, rekening houdend met de betekenis van tekens (bijvoorbeeld bij het sorteren van digitale waarden, de aanwezigheid van een minteken en een punt voor een getal en verschillende typen er wordt rekening gehouden met de spelling, en bij het vergelijken wordt geen rekening gehouden met het hoofdlettergebruik en de aanwezigheid van een accentteken);
  • Ondersteuning toegevoegd voor multi-factor client-authenticatie, waarbij u in pg_hba.conf SSL-certificaatauthenticatie (clientcert=verify-full) kunt combineren met een extra authenticatiemethode zoals scram-sha-256 voor authenticatie;
  • Ondersteuning toegevoegd voor codering van het communicatiekanaal bij authenticatie via GSSAPI, zowel aan de clientzijde als aan de serverzijde;
  • Ondersteuning toegevoegd voor het bepalen van LDAP-servers op basis van “DNS SRV”-records als PostgreSQL is gebouwd met OpenLDAP;
  • Bewerking toegevoegd "CONCURRENTIE HERINDEX» om indexen opnieuw op te bouwen zonder schrijfbewerkingen naar de index te blokkeren;
  • Commando toegevoegd pg_controlesommen, waarmee u het controleren van controlesommen van gegevenspagina's voor een bestaande database kunt in- of uitschakelen (voorheen werd deze bewerking alleen ondersteund tijdens database-initialisatie);
  • Leverde output van voortgangsindicator voor operaties CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL en pg_checksums;
  • Commando toegevoegd "CREËER TOEGANGSMETHODE» om handlers aan te sluiten voor nieuwe tabelopslagmethoden die zijn geoptimaliseerd voor verschillende specifieke taken. Momenteel is de enige ingebouwde tabeltoegangsmethode "heap";
  • Het herstel.conf-configuratiebestand is samengevoegd met postgresql.conf. Als indicatoren voor de overgang naar de staat van herstel na een mislukking, nu moet gebruik de bestanden recovery.signal en standby.signal.

Bron: opennet.ru

Voeg een reactie