Ubunlog David Naranjo  

Liberada la nueva versión de PostgreSQL 12 y estas son sus novedades

postgresql

Después de un año de desarrollo activo y cuatro meses después de la publicación de su versión Beta, por fin se publicó la nueva rama estable DBMS de PostgreSQL 12. Para quienes aún desconocen de PostgreSQL, deben saber que también es conocido como Postgres y este es un sistema de gestión de base de datos relacional (RDBMS) gratuito, de código abierto, que tiene como objetivo ofrecer una base de datos basada en la extensibilidad y el cumplimiento de las normas técnicas.

Está diseñado para manejar una variedad de cargas de trabajo, desde máquinas simples hasta almacenes de datos o servicios web con muchos usuarios concurrentes.

Principales novedades de PostgreSQL 12

Dentro de los principales cambios que se destacan en esta nueva versión podremos encontrar el soporte para “generated columns “, cuyo valor se calcula sobre la base de una expresión que cubre los valores de otras columnas en la misma tabla (un análogo de las vistas, pero para columnas individuales). Las columnas generadas pueden ser de dos tipos: almacenadas y virtuales.

En el primer caso, el valor se calcula en el momento en que se agregan o cambian los datos, y en el segundo, en cada lectura, en función del estado actual de las otras columnas. Actualmente, solo las columnas generadas almacenadas son compatibles con PostgreSQL.

También se destaca la capacidad de consultar datos de documentos JSON utilizando expresiones de ruta similares a XPath y definidas en el estándar SQL/JSON. Para aumentar la eficiencia del procesamiento de tales expresiones para documentos almacenados en el formato JSONB, se utilizan los mecanismos de indexación existentes.

De manera predeterminada, se habilita el uso del compilador JIT (Just-in-Time) basado en las prácticas de LLVM para acelerar la ejecución de ciertas expresiones durante el procesamiento de consultas SQL. Por ejemplo, JIT se puede usar para acelerar la ejecución de expresiones dentro de los bloques WHERE, en listas de destino, expresiones agregadas y algunas operaciones internas.

Otro cambio importante es el aumento significativo del rendimiento de indexación. Los índices de árbol B están optimizados para funcionar en condiciones de cambios frecuentes de índice: las pruebas de TPC-C muestran un aumento general en el rendimiento y una disminución en el consumo de espacio en disco en un promedio del 40%.

Para GiST, se ha agregado la capacidad de crear índices de contenedor (a través de la expresión INCLUDE), incluidas columnas adicionales. La operación CREATE STATISTICS que proporciona soporte para estadísticas sobre los valores más típicos (MCV), lo que permite generar planes de consulta más óptimos cuando se utilizan columnas distribuidas de manera desigual.

La implementación de particionamiento está optimizada para consultas que abarcan tablas con miles de particiones, pero están limitadas a una selección de un subconjunto limitado de datos.

Mayor productividad al agregar datos a tablas particionadas utilizando las operaciones INSERT y COPY, así como la capacidad de agregar nuevas particiones a través de “ALTER TABLE ATTACH PARTITION” sin bloquear la ejecución de consultas.

Se agregó soporte para la implementación automática en línea de Common Table Expression (CTE), que permite el uso de conjuntos de resultados con nombre temporales especificados mediante la instrucción WITH. La implementación en línea puede mejorar el rendimiento de la mayoría de las solicitudes, pero hasta ahora se usa solo para CTE no recursivos.

Se agregó soporte para propiedades no deterministas de la configuración regional de “Colación”, que le permite establecer reglas de clasificación y métodos de coincidencia teniendo en cuenta el significado de los caracteres (por ejemplo, al ordenar valores digitales, la presencia de un signo menos y un punto antes de un número y diferentes tipos de ortografía se tienen en cuenta, y la comparación no tiene en cuenta el caso de los caracteres y la presencia de marca de acento).

Finalmente y no menos importante también se destaca la compatibilidad con la autenticación de cliente de múltiples factores, en la cual pg_hba.conf para autenticación puede combinar la autenticación utilizando un certificado SSL (clientcert = verificar-completo) con un método de autenticación adicional, como scram-sha-256.

Si quieres conocer mas al respecto puedes consultar el siguiente enlace. 

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.