Udgivelsen af databasen PostgreSQL 12

Efter et års udvikling offentliggjort en ny stabil gren af database management systemet PostgreSQL 12. Opdateringer til den nye gren vil blive udgivet i løbet af fem år frem til november 2024.

Vigtige nyheder:

  • Tilføjet support for «genererede kolonner«, hvis værdier beregnes baseret på udtryk, der dækker værdier af andre kolonner i den samme tabel (svarer til views, men for enkelte kolonner). Genererede kolonner kan være af to typer — opbevarede og virtuelle. I det første tilfælde beregnes værdien, når data tilføjes eller ændres, mens den i det andet tilfælde beregnes ved hver læsning baseret på den aktuelle tilstand af andre kolonner. I øjeblikket understøtter PostgreSQL kun opbevarede genererede kolonner;
  • Tilføjet mulighed for at udføre dataforespørgsler fra JSON-dokumenter ved hjælp af Path-udtryk, der minder om XPath og defineret i standarden SQL/JSON. For at forbedre effektiviteten ved behandling af sådanne udtryk for dokumenter, der er gemt i JSONB-format, anvendes eksisterende indekseringsmekanismer;
  • JIT-kompilatoren (Just-in-Time) er aktiveret som standard, baseret på LLVM-arbejderne for at fremskynde udførelsen af visse udtryk under behandlingen af SQL-forespørgsler. For eksempel kan JIT anvendes til at fremskynde udførelsen af udtryk inden for «WHERE»-blokke, i outputlister (target lists), aggregatudtryk og nogle interne operationer;
  • Ydelsen ved indeksering er væsentligt forbedret. B-tree indekser er optimeret til arbejde under hyppige ændringer af indekserne — i TPC-C tests observeres der en generel forbedring i ydeevne og et fald i diskpladsforbrug på gennemsnitligt 40%. Overhead ved generering af WAL (Write Ahead Log) for GiST, GIN og SP-GiST indekstyper er reduceret. For GiST er der tilføjet mulighed for at oprette wrap-indekser (via INCLUDE-udtryk), som inkluderer yderligere kolonner. I operationen CREATE STATISTICS er der tilvejebragt support for statistik om de mest typiske værdier (MCV), hvilket muliggør generering af mere optimale forespørgselsplaner ved brug af ujævnt fordelte kolonner;
  • Implementeringen af partitionering er optimeret til forespørgsler, der dækker tabeller med tusindvis af sektioner, men som er begrænset til at vælge et lille datavidt udvalg. Ydeevnen ved tilføjelse af data til partitionerede tabeller er forbedret gennem INSERT- og COPY-operationer, og der er nu mulighed for at tilføje nye sektioner via "ALTER TABLE ATTACH PARTITION" uden at blokere udførelsen af forespørgsler;
  • Der er tilføjet understøttelse af automatisk inline-udrulning af generiske tabeludtryk (Common Table Expression, CTE), som gør det muligt at bruge midlertidige navngivne resultatsæt defineret med operatoren WITH. Inline-udrulningen kan forbedre ydeevnen af de fleste forespørgsler, men anvendes i øjeblikket kun til ikke-rekursive CTE;
  • Tilføjet support for ikke-deterministiske locale-egenskaberne "Collation", der gør det muligt at definere sorteringsregler og metoder til sammenligning med hensyn til tegns betydning (for eksempel ved sortering af numeriske værdier tages der højde for tilstedeværelsen af minus og punktum før tallet og forskellige former for skrivemåde, mens sammenligninger ignorerer tegns store og små bogstaver samt tilstedeværelsen af aksenter);
  • Der er tilføjet understøttelse af multifaktor-godkendelse for klienter, hvor autentificering kan kombineres i pg_hba.conf ved brug af SSL-certifikat (clientcert=verify-full) med en yderligere autentificeringsmetode, såsom scram-sha-256;
  • Der er tilføjet understøttelse af kryptering af kommunikationskanalen ved autentificering gennem GSSAPI, både på klientsiden og serversiden;
  • Der er tilføjet understøttelse af identifikation af LDAP-servere baseret på "DNS SRV"-poster, hvis PostgreSQL er bygget med OpenLDAP;
  • Der er tilføjet operationen "REINDEX CONCURRENTLY" til genopbygning af indekser uden at blokere skriveoperationer i indekset;
  • Der er tilføjet en kommando pg_checksums, som gør det muligt at aktivere og deaktivere kontrolsummekontrol af datablade for en eksisterende database (tidligere blev denne operation kun understøttet under initialisering af databasen);
  • Der er tilvejebragt en visning af en progressindikator for udførelsen af operationer som CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL og pg_checksums;
  • Der er tilføjet kommandoen "CREATE ACCESS METHOD" til tilkobling af håndterere til nye lagringsmetoder for tabeller, optimeret til forskellige specifikke opgaver. I øjeblikket er den eneste indbyggede adgangsmetode til tabeller "heap";
  • Konfigurationsfilen recovery.conf er blevet sammenført med postgresql.conf. Nu bruges recovery.signal og standby.signal som indikatorer for at skifte til en tilstand af genopretning efter fejl. you should Brug recovery.signal og standby.signal filer.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster