Después de un año de desarrollo nueva rama estable de la base de datos . Actualizaciones para la nueva rama durante cinco años hasta noviembre de 2025.
:
- Se ha implementado 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 , (GROUPING SETS) o 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 , 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 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 ““, que está habilitada por defecto.
- Se ha añadido la posibilidad de limitar el tamaño de , 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 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 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 para verificar la integridad de las copias de seguridad creadas por el comando pg_basebackup.
- Al trabajar con JSON utilizando los operadores 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 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 «» 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 («»), 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 , , 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 «» (channel binding).
Fuente: opennet.ru
