Efter ett Ärs utveckling Den nya stabila versionen av databashanteraren PostgreSQL 12. Uppdateringar för denna version under de kommande fem Ären fram till november 2024.
Huvud :
- Stödet för "" har lagts till, vars vĂ€rde berĂ€knas baserat pĂ„ ett uttryck som omfattar vĂ€rdena av andra kolumner i samma tabell (ett alternativ till vyer, men för enskilda kolumner). Genererade kolumner kan vara av tvĂ„ typer â lagrade och virtuella. I det första fallet berĂ€knas vĂ€rdet vid tillĂ€gg eller Ă€ndring av data, medan det i det andra fallet berĂ€knas vid varje lĂ€sning baserat pĂ„ det aktuella tillstĂ„ndet hos andra kolumner. För nĂ€rvarande stöder PostgreSQL endast lagrade genererade kolumner;
- Möjligheten att utföra databasfrÄgor frÄn JSON-dokument med hjÀlp av , som liknar och Àr definierade i standarden SQL/JSON. För att förbÀttra effektiviteten i bearbetning av sÄdana uttryck för dokument som lagras i JSONB-format anvÀnds existerande indexeringsmetoder;
- JIT-kompilatorn (Just-in-Time) har aktiverats som standard, baserat pÄ arbete frÄn LLVM för att pÄskynda vissa uttrycks utförande under SQL-frÄgebearbetningen. Till exempel Àr JIT tillÀmpligt för att pÄskynda utförandet av uttryck inom "WHERE"-block, i mÄllistor (target lists), aggregatuttryck och vissa interna operationer;
- Prestandan för indexering har ökat avsevĂ€rt. B-tree-index Ă€r optimerade för att fungera under förhĂ„llanden med frekventa indexĂ€ndringar â i TPC-C-tester observeras en total prestandaförbĂ€ttring och en minskning av diskanvĂ€ndning med i genomsnitt 40%. Ăverheaden för att generera loggen av föregĂ„ende skrivning (WAL) för index typerna GiST, GIN och SP-GiST har minskat. För GiST har stöd för skapa omslagsindex (genom uttrycket INCLUDE) lagts till, som inkluderar ytterligare kolumner. I operationen har stöd för statistik om de mest typiska vĂ€rdena (MCV) lagts till, vilket möjliggör generation av mer optimala frĂ„geplaner vid anvĂ€ndning av ojĂ€mt fördelade kolumner;
- Implementeringen av sektionering (partitionering) har optimerats för frÄgor som omfattar tabeller med tusentals sektioner, men begrÀnsar sig till att hÀmta en begrÀnsad delmÀngd av data. Prestandan för att lÀgga till data i sektionerade tabeller har ökat genom operationer som INSERT och COPY, och det har ocksÄ införts en möjlighet att lÀgga till nya sektioner via "ALTER TABLE ATTACH PARTITION" utan att blockera exekveringen av frÄgor;
- Stöd för automatisk inline-utveckling av generella tabelluttryck (, CTE) har lagts till, vilket möjliggör anvÀndning av temporÀra namngivna resultatsatser som definieras med hjÀlp av kommandot WITH. Inline-utveckling ökar prestandan hos de flesta frÄgor, men tillÀmpas för nÀrvarande endast för icke-rekursiva CTE;
- Stöd för egenskaper för lokal "Collation", vilket möjliggör att definiera sorteringsregler och metoder för jÀmförelse med hÀnsyn till betydelsen av tecken (till exempel beaktas nÀrvaron av minus och punkt före siffran samt olika skrivsÀtt vid sortering av numeriska vÀrden, och vid jÀmförelse beaktas inte teckenregistret eller förekomsten av sÀrdrag);
- Stöd för flerfaktorsautentisering av klient har lagts till, dÀr autentisering i pg_hba.conf kan kombinera autentisering med SSL-certifikat (clientcert=verify-full) med en ytterligare autentiseringsmetod, sÄsom scram-sha-256;
- Stöd för kryptering av kommunikationskanalen vid autentisering via , bÄde pÄ klientsidan och serversidan;
- Stöd för att ange LDAP-servrar baserat pÄ "DNS SRV"-poster har lagts till, om PostgreSQL Àr kompilerat med OpenLDAP;
- En operation "" har lagts till för att Äteruppbygga index utan att blockera skrivoperationer till indexet;
- En ny kommando har lagts till , som gör det möjligt att slÄ pÄ och av kontrollsumma-checken för data sidor för en befintlig databas (denna operation stöddes tidigare endast under initialiseringen av databasen);
- Uppvisande av en progressindikator för operationer som CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL och pg_checksums har sÀkerstÀllts;
- Ett kommando "" har lagts till för att ansluta hanterare för nya lagringsmetoder för tabeller som Àr optimerade för olika specifika uppgifter. För nÀrvarande Àr den enda inbyggda metoden för att fÄ Ätkomst till tabeller "heap";
- Konfigurationsfilen recovery.conf har slagits samman med postgresql.conf. Som indikatorer för att gÄ in i ÄterstÀllningslÀge efter en krasch anvÀnds nu filerna recovery.signal och standby.signal.
KĂ€lla: opennet.ru
