Lanzamiento de la base de datos PostgreSQL 13

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

Principales novedades:

  • Se ha implementado deduplicación de registros en índices B-tree, lo que ha permitido aumentar el rendimiento de las consultas y reducir el consumo de espacio en disco al indexar registros con datos repetidos. La deduplicación se realiza mediante la ejecución periódica de un procesador que lleva a cabo la fusión de grupos de tuplas repetidas y reemplaza duplicados por referencias a una copia almacenada.
  • Aumentado el rendimiento de las consultas que utilizan funciones agregadas, grupos agrupados (GROUPING SETS) o tablas particionadas. Las optimizaciones están relacionadas con el uso de hashes en lugar de datos reales durante la agregación, lo que evita la necesidad de cargar todos los datos en memoria al procesar grandes consultas. Al particionar, se ha ampliado el número de situaciones en las que se pueden descartar o unir secciones.
  • Se ha añadido la posibilidad de usar estadísticas ampliadas, creadas al usar el comando “CREATE STATISTICS”, para mejorar la eficacia de la planificación de consultas que contienen condiciones “OR” o búsquedas en listas utilizando expresiones “IN” o “ANY”.
  • Acelerada la limpieza de índices al realizar la operación VACUUM mediante la paralelización de la recolección de basura en los índices. Con el nuevo parámetro “PARALLEL”, el administrador puede definir el número de hilos que se ejecutarán simultáneamente para VACUUM. Se ha añadido la posibilidad de iniciar la ejecución automática de VACUUM después de insertar datos.
  • Se ha añadido soporte para la clasificación incremental, que permite utilizar datos clasificados en etapas anteriores para acelerar la clasificación en etapas posteriores del procesamiento de la consulta. Para incluir esta nueva optimización en el planificador de consultas, se ha previsto la configuración “enable_incremental_sort“, que está habilitada por defecto.
  • Se ha añadido la posibilidad de limitar el tamaño de los slots de replicación, lo que permite garantizar automáticamente la conservación de segmentos del registro de escritura retrasada (WAL) hasta que sean recibidos por todos los servidores secundarios que reciben réplicas. Los slots de replicación también impiden que el servidor principal elimine filas que puedan causar conflictos, incluso si el servidor secundario está desconectado. Mediante el parámetro max_slot_wal_keep_size ahora se puede limitar el tamaño máximo de los archivos WAL para evitar el agotamiento del espacio en disco.
  • Se han ampliado las capacidades de monitoreo de la actividad de la base de datos: en el comando EXPLAIN se proporciona información adicional sobre el uso del registro WAL; en pg_basebackup se ha otorgado la posibilidad de rastrear el estado de las copias de seguridad continuas; en el comando ANALYZE se ha implementado la indicación del progreso de la operación.
  • Se añadió un nuevo comando pg_verifybackup para verificar la integridad de las copias de seguridad creadas por el comando pg_basebackup.
  • Al trabajar con JSON utilizando los operadores jsonpath se permite el uso de la función datetime() para convertir formatos de tiempo (cadenas ISO 8601 y tipos de tiempo nativos de PostgreSQL). Por ejemplo, se pueden usar construcciones como «jsonb_path_query('["2015-8-1", "2015-08-12"]', '$[*] ? (@.datetime() < "2015-08-2".datetime())')» y «jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')».
  • Se ha añadido la función incorporada gen_random_uuid() para generar identificadores UUID v4.
  • En el sistema de particiones se ha implementado el soporte completo para la replicación lógica y los disparadores definidos por la expresión «BEFORE»
    que operan a nivel de filas.
  • La sintaxis «FETCH FIRST» ahora permite el uso de la expresión «WITH TIES», que permite devolver filas adicionales que se encuentran al final del conjunto de resultados obtenido después de aplicar «ORDER BY».
  • Se ha implementado el concepto de extensiones confiables («trusted extension»), que pueden ser instaladas por usuarios normales sin privilegios de administrador de la base de datos. La lista de tales extensiones está predeterminada y puede ser ampliada por el superusuario. Entre las extensiones confiables se incluyen pgcrypto, tablefunc, hstore etc.
  • En el mecanismo de conexión de tablas externas Foreign Data Wrapper (postgres_fdw) se ha implementado el soporte de autenticación basada en certificados. Al usar autenticación SCRAM, se permite a los clientes solicitar «vinculación de canal» (channel binding).

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