Després d'un any de desenvolupament nova branca estable del SGBD PostgreSQL 12. Actualitzacions per a la nova branca durant cinc anys fins al novembre de 2024.
El principal :
- S'ha afegit suport per a "", el valor del qual es calcula a partir d'una expressió que cobreix els valors d'altres columnes de la mateixa taula (similar a les vistes, però per a columnes individuals). Les columnes generades poden ser de dos tipus: emmagatzemades i virtuals. En el primer cas, el valor es calcula en el moment en què s'afegeixen o es modifiquen les dades, i en el segon cas, el valor es calcula en cada lectura en funció de l'estat actual d'altres columnes. Actualment, PostgreSQL només admet columnes generades emmagatzemades;
- S'ha afegit la possibilitat de consultar dades de documents JSON mitjançant , reminiscència i es defineix a l'estàndard SQL/JSON. Els mecanismes d'indexació existents s'utilitzen per millorar l'eficiència del processament d'aquestes expressions per als documents emmagatzemats en format JSONB;
- Per defecte està habilitat l'ús d'un compilador JIT (Just-in-Time) basat en desenvolupaments LLVM per accelerar l'execució d'algunes expressions durant el processament de consultes SQL. Per exemple, JIT s'utilitza per accelerar l'execució d'expressions dins de blocs WHERE, llistes de destinació, expressions agregades i algunes operacions internes;
- El rendiment de la indexació s'ha millorat significativament. Els índexs B-tree estan optimitzats per funcionar en entorns on els índexs canvien amb freqüència: les proves TPC-C mostren un augment general del rendiment i una reducció mitjana del consum d'espai en disc del 40%. S'ha reduït la sobrecàrrega en generar un registre d'escriptura anticipada (WAL) per als tipus d'índex GiST, GIN i SP-GiST. Per a GiST, s'ha afegit la possibilitat de crear índexs d'embolcall (mitjançant l'expressió INCLUDE) que inclouen columnes addicionals. En operació Proporciona suport per a les estadístiques del valor més comú (MCV) per generar plans de consulta més òptims quan s'utilitzen columnes distribuïdes de manera desigual;
- La implementació de particions està optimitzada per a consultes que abasten taules amb milers de particions, però es limiten a seleccionar un subconjunt limitat de dades. S'ha augmentat el rendiment d'afegir dades a taules particionades mitjançant les operacions d'INSERT i CÒPIA, i també és possible afegir noves seccions mitjançant "ALTERA LA TABLE ATTACH PARTITION" sense bloquejar l'execució de la consulta;
- S'ha afegit suport per a l'expansió automàtica en línia d'expressions de taula generalitzades (, CTE) que permeten l'ús de conjunts de resultats amb nom temporals especificats mitjançant la instrucció WITH. El desplegament en línia pot millorar el rendiment de la majoria de consultes, però actualment només s'utilitza per a CTE no recursius;
- Suport afegit propietats de la configuració regional "Col·lació", que us permet establir regles d'ordenació i mètodes de concordança tenint en compte el significat dels caràcters (per exemple, en ordenar valors digitals, la presència d'un menys i un punt davant d'un nombre i diferents tipus). d'ortografia es té en compte, i a l'hora de comparar no es té en compte el cas dels caràcters i la presència d'accent) ;
- S'ha afegit suport per a l'autenticació de client multifactor, en què a pg_hba.conf podeu combinar l'autenticació de certificat SSL (clientcert=verify-full) amb un mètode d'autenticació addicional com ara scram-sha-256 per a l'autenticació;
- S'ha afegit suport per a l'encriptació del canal de comunicació quan s'autentica mitjançant , tant al costat del client com al costat del servidor;
- S'ha afegit suport per determinar servidors LDAP basats en registres "DNS SRV" si PostgreSQL es construeix amb OpenLDAP;
- Operació afegida "» per reconstruir índexs sense bloquejar les operacions d'escriptura a l'índex;
- Comandament afegit , que us permet activar o desactivar la comprovació de les sumes de comprovació de les pàgines de dades per a una base de dades existent (abans aquesta operació només es suportava durant la inicialització de la base de dades);
- S'ha proporcionat la sortida de l'indicador de progrés per a les operacions CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL i pg_checksums;
- S'ha afegit l'ordre "» per connectar gestors per a nous mètodes d'emmagatzematge de taules optimitzats per a diferents tasques específiques. Actualment, l'únic mètode d'accés a la taula integrat és "heap";
- El fitxer de configuració recovery.conf s'ha combinat amb postgresql.conf. Com a indicadors de transició a l'estat de recuperació després d'un fracàs, ara utilitzeu fitxers recovery.signal i standby.signal.
Font: opennet.ru
