Lanzamiento de la base de datos PostgreSQL 12

Después de un año de desarrollo el año pasado nueva rama estable de la base de datos PostgreSQL 12. Las actualizaciones para la nueva rama se lanzarán durante cinco años hasta noviembre de 2024.

Principales novedades:

  • Se añadió soporte para «columnas generadas», cuyos valores se calculan en función de una expresión que abarca los valores de otras columnas en la misma tabla (similar a 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 al agregar o modificar datos, mientras que en el segundo, se calcula en cada lectura en función del estado actual de otras columnas. Actualmente, PostgreSQL solo admite columnas generadas almacenadas;
  • Se añadió la capacidad de ejecutar consultas de datos de documentos JSON mediante expresiones de ruta, que son similares a XPath y están definidas en el estándar SQL/JSON. Para mejorar la eficiencia del procesamiento de tales expresiones para documentos almacenados en formato JSONB, se aplican mecanismos de indexación existentes;
  • Se activó por defecto la aplicación del compilador JIT (Just-in-Time) basado en trabajos de LLVM para acelerar la ejecución de ciertas expresiones durante el procesamiento de consultas SQL. Por ejemplo, JIT es aplicable para acelerar la ejecución de expresiones dentro de bloques «WHERE», en las listas de salida (target lists), expresiones agregadas y algunas operaciones internas;
  • Se ha incrementado significativamente el rendimiento de la indexación. Los índices B-tree están optimizados para funcionar en condiciones de cambios frecuentes de índices; en las pruebas TPC-C se observa un aumento general del rendimiento y una reducción en el consumo de espacio en disco de más del 40%. Se redujeron los costos de generación de registros de escritura anticipada (WAL) para tipos de índices GiST, GIN y SP-GiST. Para GiST se añadió la capacidad de crear índices envueltos (a través de la expresión INCLUDE), que incluyen columnas adicionales. En la operación CREATE STATISTICS se garantiza la compatibilidad con estadísticas sobre los valores más típicos (MCV), permitiendo generar planes de consulta más óptimos al usar columnas con distribución no uniforme;
  • La implementación de particionamiento se ha optimizado para consultas que abarcan tablas con miles de secciones, pero que se limitan a seleccionar un subconjunto restringido de datos. Se ha mejorado el rendimiento de la inserción de datos en tablas particionadas mediante operaciones INSERT y COPY, y se ha habilitado la adición de nuevas secciones a través de «ALTER TABLE ATTACH PARTITION» sin bloquear la ejecución de consultas.
  • Se ha añadido soporte para el despliegue automático en línea de expresiones de tabla comunes (Common Table Expression, CTE), que permiten utilizar conjuntos de resultados nombrados temporales definidos mediante el operador WITH. El despliegue en línea permite mejorar el rendimiento de la mayoría de las consultas, pero por ahora se aplica solo a CTE no recursivas;
  • Se ha añadido soporte para no deterministas propiedades de la configuración regional «Collation», que permiten establecer reglas de ordenación y métodos de comparación teniendo en cuenta el significado de los caracteres (por ejemplo, al ordenar valores numéricos se considera la presencia de un signo negativo y un punto antes del número, así como diferentes formas de escritura, y al comparar no se tiene en cuenta la caja de los caracteres ni la presencia de acentos);
  • Se ha añadido soporte para la autenticación multifactor del cliente, en la que en pg_hba.conf se puede combinar la autenticación mediante certificado SSL (clientcert=verify-full) con un método de autenticación adicional, como scram-sha-256;
  • Se ha añadido soporte para el cifrado de la comunicación al autenticarse a través de GSSAPI, tanto del lado del cliente como del lado del servidor;
  • Se ha añadido soporte para la detección de servidores LDAP basados en registros «DNS SRV», si PostgreSQL se compila con OpenLDAP;
  • Se ha añadido la operación «REINDEX CONCURRENTLY» para reconstruir índices sin bloquear las operaciones de escritura en el índice;
  • Se ha añadido el comando pg_checksums, que permite habilitar y deshabilitar la verificación de sumas de verificación para páginas de datos en una base de datos existente (anteriormente esta operación solo se soportaba durante la inicialización de la base de datos);
  • Se ha proporcionado la salida de un indicador de progreso para las operaciones CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL y pg_checksums;
  • Se ha añadido el comando «CREATE ACCESS METHOD» para conectar controladores de nuevos métodos de almacenamiento de tablas optimizados para diversas tareas específicas. Actualmente, el único método de acceso incorporado a las tablas es «heap»;
  • El archivo de configuración recovery.conf se ha combinado con postgresql.conf. Ahora, como indicadores de transición al estado de recuperación tras un fallo, se deben utilizar los archivos recovery.signal y standby.signal.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster