Versión de PostgreSQL 12 DBMS

Despois dun ano de desenvolvemento publicado nova rama estable do DBMS PostgreSQL 12 Actualizacións para a nova rama sairá durante cinco anos ata novembro de 2024.

O principal innovacións:

  • Engadiuse soporte para "columnas xeradas", cuxo valor se calcula a partir dunha expresión que cobre os valores doutras columnas da mesma táboa (semellante ás vistas, pero para columnas individuais). As columnas xeradas poden ser de dous tipos: almacenadas e virtuais. No primeiro caso, o valor calcúlase no momento en que se engaden ou cambian os datos, e no segundo caso, o valor calcúlase en cada lectura en función do estado actual doutras columnas. Actualmente, PostgreSQL só admite columnas xeradas almacenadas;
  • Engadida a posibilidade de consultar datos de documentos JSON mediante Expresións de camiños, reminiscente XPath e definido no estándar SQL/JSON. Os mecanismos de indexación existentes utilízanse para mellorar a eficiencia do procesamento de tales expresións para os documentos almacenados no formato JSONB;
  • Activado por defecto está o uso dun compilador JIT (Just-in-Time) baseado nos desenvolvementos de LLVM para acelerar a execución dalgunhas expresións durante o procesamento de consultas SQL. Por exemplo, JIT úsase para acelerar a execución de expresións dentro de bloques WHERE, listas de destino, expresións agregadas e algunhas operacións internas;
  • O rendemento da indexación mellorouse significativamente. Os índices B-tree están optimizados para funcionar en ambientes onde os índices cambian con frecuencia. As probas de TPC-C mostran un aumento global do rendemento e unha redución media do consumo de espazo en disco do 40%. Reduciuse a sobrecarga ao xerar un rexistro de escritura anticipada (WAL) para os tipos de índice GiST, GIN e SP-GiST. Para GiST, engadiuse a capacidade de crear índices de envoltura (mediante a expresión INCLUDE) que inclúan columnas adicionais. En funcionamento CREAR ESTATÍSTICAS Ofrece soporte para as estatísticas do valor máis común (MCV) para xerar plans de consulta máis óptimos cando se usan columnas distribuídas de forma desigual;
  • A implementación de partición está optimizada para consultas que abranguen táboas con miles de particións, pero limítanse a seleccionar un subconxunto limitado de datos. Aumentouse o rendemento de engadir datos a táboas particionadas mediante as operacións INSERTAR e COPIAR, e tamén é posible engadir novas seccións a través de "ALTER TABLE ATTACH PARTITION" sen bloquear a execución da consulta;
  • Engadido soporte para a expansión automática en liña de expresións de táboa xeneralizadas (Expresión de táboa común, CTE) que permiten o uso de conxuntos de resultados con nome temporais especificados mediante a instrución WITH. A implantación en liña pode mellorar o rendemento da maioría das consultas, pero actualmente só se usa para CTE non recursivos;
  • Soporte engadido non determinista propiedades da configuración rexional "Collation", que permite establecer regras de ordenación e métodos de correspondencia tendo en conta o significado dos caracteres (por exemplo, ao ordenar valores dixitais, a presenza dun menos e un punto diante dun número e de diferentes tipos). de ortografía téñense en conta, e á hora de comparar non se ten en conta o caso dos caracteres e a presenza dun acento) ;
  • Engadido soporte para a autenticación de clientes multifactor, no que en pg_hba.conf pode combinar a autenticación de certificado SSL (clientcert=verify-full) cun método de autenticación adicional como scram-sha-256 para a autenticación;
  • Engadido soporte para o cifrado da canle de comunicación ao autenticarse mediante GSSAPI, tanto no lado do cliente como no do servidor;
  • Engadido soporte para determinar servidores LDAP baseados en rexistros "DNS SRV" se PostgreSQL está construído con OpenLDAP;
  • Operación engadida "REINDÍDICE ACTUALMENTE» para reconstruír índices sen bloquear as operacións de escritura no índice;
  • Equipo engadido pg_checksums, que lle permite activar ou desactivar a verificación de sumas de verificación das páxinas de datos para unha base de datos existente (anteriormente esta operación só se admitía durante a inicialización da base de datos);
  • Proporcionou a saída do indicador de progreso para as operacións CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL e pg_checksums;
  • Comando engadido "CREAR MÉTODO DE ACCESO» para conectar controladores para novos métodos de almacenamento de táboas optimizados para varias tarefas específicas. Actualmente, o único método de acceso á táboa incorporado é o "montón";
  • O ficheiro de configuración recovery.conf fusionouse con postgresql.conf. Como indicadores de transición ao estado de recuperación tras un fracaso, agora debe ser utilizar ficheiros recovery.signal e standby.signal.

Fonte: opennet.ru

Engadir un comentario