¡Lanzamiento de PostgreSQL 14!
El Grupo Global de Desarrollo de PostgreSQL ha anunciado hoy el lanzamiento de PostgreSQL 14, la última versión de la base de datos de código abierto más avanzada del mundo.
PostgreSQL 14 introduce una variedad de características que ayudarán a desarrolladores y administradores a implementar sus aplicaciones para el manejo de datos. PostgreSQL sigue añadiendo innovaciones para tipos de datos complejos, que incluyen mayor facilidad de acceso a datos JSON y soporte para rangos de datos no contiguos. Esta última versión refuerza la tendencia de PostgreSQL hacia las mejoras para el alto rendimiento y las cargas de trabajo de datos distribuidos, presentando avances en la concurrencia de conexiones, cargas de trabajo con elevado nivel de escritura, paralelismo de consultas y replicación lógica.
“Esta última versión de PostgreSQL incrementa la capacidad de nuestros usuarios de administrar cargas de trabajo de datos a gran escala, mejora la observabilidad e incluye nuevas características que facilitan el trabajo de los desarrolladores de aplicaciones”, dijo Magnus Hagander, miembro del Core Team de PostgreSQL. “PostgreSQL 14 constituye la prueba del compromiso de la comunidad global de PostgreSQL para analizar sugerencias y opiniones recibidas y continuar ofreciendo un software de base de datos innovador utilizado por organizaciones grandes y pequeñas”.
PostgreSQL es un innovador sistema de gestión de datos conocido por su fiabilidad y solidez. Gracias a los más de 25 años de desarrollo de código abierto realizado por una comunidad mundial de desarrolladores, se ha convertido en la base de datos relacional de código abierto preferida por organizaciones de todos los tamaños.
Utilidades para JSON y rangos múltiples
PostgreSQL ha ofrecido soporte para la manipulación de datos JSON desde el lanzamiento de su versión 9.2, aunque hasta ahora para obtener los valores se utilizaba una sintaxis única. Con PostgreSQL 14, en cambio, es posible acceder a datos JSON usando subíndices. Por ejemplo, ahora es posible realizar una consulta como SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];
. Esto alinea a PostgreSQL con la sintaxis comúnmente reconocida para obtener información de datos JSON. El sistema de subíndices añadido a PostgreSQL 14 es generalmente extensible a otras estructuras de datos anidadas, y se aplica también al tipo de dato hstore
presente en esta versión.
Los tipos de rangos (que también fueron introducidos en PostgreSQL 9.2) ahora cuentan con el soporte para rangos no contiguos a través de la introducción del tipo de datos “multirango”. Un rango múltiple consiste en una lista ordenada de rangos que no se superponen, lo cual permite a los desarrolladores escribir consultas más sencillas para manejar secuencias complejas de rangos. Los tipos de rango nativos de PostgreSQL (fechas, horas, números) soportan los rangos múltiples. Asimismo, es posible extender el soporte de rangos múltiples a otros tipos de datos.
Mejoras de rendimiento para cargas de trabajo intensivas
PostgreSQL 14 ofrece un importante incremento de rendimiento en las cargas de trabajo con un alto número de conexiones. Algunas pruebas de rendimiento indican un aumento de velocidad equivalente al doble. Esta versión continúa con las recientes mejoras en la gestión de los índices B-tree, al reducir el sobredimensionamiento de los índices en aquellas tablas cuyos índices se actualizan con frecuencia.
PostgreSQL 14 introduce la posibilidad de canalizar consultas hacia una base de datos, lo cual puede mejorar significativamente el rendimiento en las conexiones de alta latencia o para cargas de trabajo con un gran número de pequeñas operaciones de escritura (INSERT
/UPDATE
/DELETE
). Al tratarse de una característica del lado cliente, es posible utilizar el modo pipeline con cualquier base de datos PostgreSQL actual que cuente con la versión 14 del cliente o con un controlador de cliente creado con la versión 14 de libpq.
Mejoras para cargas de trabajo distribuidas
También las bases de datos PostgreSQL distribuidas se benefician de PostgreSQL 14. Al utilizar la replicación lógica, PostgreSQL puede ahora enviar las transacciones en curso a los suscriptores, con importantes ventajas de rendimiento cuando se aplican a los mismos transacciones de gran volumen. Además, PostgreSQL 14 añade otras mejoras de rendimiento al sistema de decodificación lógica, en el que se basa la replicación lógica.
Los conectores de datos externos, empleados para manejar cargas de trabajo federadas entre PostgreSQL y otras bases de datos, ahora pueden aprovechar el paralelismo de consultas que ofrece PostgreSQL 14. En esta versión se implementa dicha funcionalidad a través de postgres_fdw
, el conector de datos externos que interactúa con otras bases de datos PostgreSQL.
Además de ofrecer soporte para el paralelismo de consultas, postgres_fdw
permite ahora la inserción masiva de datos en tablas foráneas y la importación de particiones de tablas a través de la directiva IMPORT FOREIGN SCHEMA
.
Administración y observabilidad
PostgreSQL 14 extiende sus incrementos de rendimiento al sistema de vacuum, incluyendo optimizaciones que reducen la sobrecarga de los B-Trees. Esta versión introduce también en vacuum una “modalidad de emergencia” diseñada para prevenir el wraparound del ID de transacción. Gracias a las mejoras de rendimiento realizadas en PostgreSQL 14, ANALYZE
(utilizado para recopilar estadísticas de la base de datos) ahora se ejecuta con mucha más rapidez.
Ahora es posible configurar la compresión para el sistema TOAST de PostgreSQL, utilizado para almacenar datos de mayor tamaño como bloques de texto o geometrías. PostgreSQL 14 añade la compresión LZ4 para las columnas TOAST, conservando al mismo tiempo el soporte para la compresión pglz
.
PostgreSQL 14 incorpora varias características nuevas que facilitan el monitoreo y la observabilidad, incluyendo la posibilidad de dar seguimiento al progreso de los comandos COPY,la actividad del WAL (write-ahead-log), y las estadísticas de los slots de replicación. Al habilitar compute_query_id
es posible realizar el seguimiento único de una consulta a través de varias características de PostgreSQL, que incluyen pg_stat_activity
, EXPLAIN VERBOSE
, y más.
Rendimiento, conformidad y utilidad para SQL
La planificación y ejecución de consultas se benefician de las mejoras introducidas en PostgreSQL 14. Esta versión incluye varias mejoras en el soporte al paralelismo de consultas de PostgreSQL. Entre ellas, un mejor desempeño de los escaneos secuenciales paralelos, la capacidad de PL/pgSQL
de realizar consultas paralelas utilizando el comando RETURN QUERY
, y la posibilidad de permitirle a REFRESH MATERIALIZED VIEW
ejecutar consultas paralelas. Adicionalmente, las consultas que usan nested loop joins pueden obtener beneficios de rendimiento a través del caché adicional que ha sido añadido en PostgreSQL 14.
Las estadísticas extendidas pueden ahora ser utilizadas en PostgreSQL 14 para las expresiones. Asimismo, las funciones de ventana deslizante pueden beneficiarse del ordenamiento incremental, característica introducida en PostgreSQL 13.
Los procedimientos almacenados, que permiten controlar las transacciones en un bloque de código, pueden ahora devolver datos utilizando parámetros OUT
.
PostgreSQL 14 introduce la posibilidad de realizar un “bin”, o alinear, los timestamps a un intervalo determinado utilizando la función date_bin . En esta versión se añaden también las cláusulas SEARCH
y CYCLE
(conformes al estándar SQL) que ayudan a ordenar y detectar la existencia de ciclos en las expresiones recursivas de tablas comunes.
Mejoras en la seguridad
Gracias a los roles predefinidos pg_read_all_data
y pg_write_all_data
, en PostgreSQL 14 es más fácil asignar a los usuarios privilegios de sólo lectura y sólo escritura para tablas, vistas y esquemas.
Además, a partir de esta versión, el sistema de gestión de contraseñas y autenticación, conforme con el estándar SCRAM-SHA-256
, será el predeterminado en todas las nuevas instancias de PostgreSQL.
Información sobre PostgreSQL
PostgreSQL es la base de datos de código abierto más avanzada del mundo, que cuenta con una comunidad global de miles de usuarios, colaboradores, empresas y organizaciones. Basada en más de 30 años de ingeniería, que comenzaron en la Universidad de Berkeley en California, PostgreSQL ha continuado con un ritmo de desarrollo inigualable. El maduro conjunto de características de PostgreSQL no sólo iguala a los principales sistemas de bases de datos propietarios, sino que los supera en términos de características avanzadas, extensibilidad, seguridad y estabilidad.
Enlaces
- Descargas
- Notas de la versión
- Kit de prensa
- Información de seguridad
- Directiva de versiones
- Sígannos en Twitter @postgresql