¡Lanzamiento de PostgreSQL 15 Beta 1!
El Grupo Global de Desarrollo de PostgreSQL anuncia que ya puede descargarse la primera versión beta de PostgreSQL 15. Esta versión ofrece avances de todas las características que contendrá PostgreSQL 15 tras su disponibilidad general, aunque algunos detalles del lanzamiento podrían cambiar durante el periodo beta.
La información sobre todas las características y cambios introducidos en PostgreSQL 15 se encuentra en las notas de la versión:
https://www.postgresql.org/docs/15/release-15.html
De acuerdo con el espíritu de la comunidad de código abierto de PostgreSQL, recomendamos encarecidamente que prueben las nuevas características de PostgreSQL 15 en sus sistemas. Esto nos ayudará a eliminar errores u otros posibles problemas. Aunque no recomendamos ejecutar PostgreSQL 15 Beta 1 en un entorno de producción, les invitamos a encontrar formas de ejecutar esta versión beta con cargas de trabajo típicas de sus aplicaciones.
Sus pruebas y comentarios ayudarán a la comunidad a asegurar que PostgreSQL 15 cumpla con nuestros estándares de entrega de una versión estable y confiable de la base de datos relacional de código abierto más avanzada del mundo. Por favor, lean más sobre nuestro proceso de pruebas beta y cómo pueden contribuir:
https://www.postgresql.org/developer/beta/
Características destacadas de PostgreSQL 15
Experiencia para los desarrolladores
PostgreSQL 15 añade nuevas características que simplifican y mejoran la experiencia para los desarrolladores.
Esta versión introduce MERGE
, un comando SQL estándar que permite realizar de manera condicional operaciones de escritura (INSERT
, UPDATE
, o DELETE
) en los datos. Antes de esta versión, era posible lograr el mismo comportamiento empleando procedimientos almacenados o, de forma limitada, usando INSERT ... ON CONFLICT
. Gracias a PostgreSQL 15, los desarrolladores podrán escribir consultas sencillas y expresivas para elegir la acción de modificación de datos más adecuada.
En el 2012, en la versión 9.2 PostgreSQL añadió soporte para JSON. El estándar SQL/JSON, publicado cinco años después, especificó una variedad de interfaces para acceder y manipular datos JSON almacenados en bases de datos relacionales. PostgreSQL 15 amplía el soporte existente para el lenguaje de rutas SQL/JSON incluyendo más funciones SQL/JSON estándar. Entre ellas encontramos constructores SQL/JSON, funciones de consulta/introspección, y la posibilidad de convertir datos JSON en tablas.
PostgreSQL 15 añade más funciones para expresiones regulares, que incluyen regexp_count
, regexp_instr
, regexp_like
, y regexp_substr
. La función range_agg
introducida en PostgreSQL 15 para agregar tipos de datos range
en tipos multirange
, ahora también admite la agregación de tipos multirange
.
Rendimiento
PostgreSQL 15 sigue aumentando el rendimiento de las últimas versiones. Esta versión incluye un aumento significativo de la velocidad en el ordenamiento de conjuntos de datos de gran tamaño. Se trata, especialmente, de conjuntos de datos que exceden el parámetro work_mem
.
Las mejoras de rendimiento en PostgreSQL 15 abarcan una gran variedad de tipos de consulta. Incluyen la introducción de la paralelización para sentencias SELECT DISTINCT
y mejoras en el rendimiento de las funciones de ventana deslizante que utilizan row_number()
, rank()
, y count()
. Las aplicaciones que utilizan el conector de datos externos de PostgreSQL postgres_fdw
para gestionar datos en servidores remotos de PostgreSQL ahora admiten transacciones en paralelo. Se han introducido también varias mejoras en el rendimiento de las consultas relacionadas con tablas particionadas.
El sistema PostgreSQL y las tablas TOAST, utilizadas para almacenar datos mayores que una sola página (8kB), pueden ahora utilizar la compactación de duplicados de índices y beneficiarse de índices más pequeños y búsquedas más rápidas.
El comando \copy
, utilizado para la carga masiva de datos, también presenta mejoras de rendimiento en PostgreSQL 15.
Respaldos, archivado y compresión
Siguiendo el patrón establecido por la versión anterior, la cual introdujo la compresión LZ4, PostgreSQL 15 extiende el soporte para la compresión Zstandard (zstd) a varios componentes.
pg_basebackup
, una utilidad utilizada para realizar respaldos completos de un cluster PostgreSQL, ahora admite la compresión del lado del servidor a través de Gzip, LZ4 o Zstandard. El cliente pg_basebackup
ahora también puede descomprimir respaldos que utilicen compresión LZ4 y Zstandard.
Los archivos WAL (Write-ahead log) ahora pueden ser comprimidos usando tanto la compresión LZ4 como la Zstandard a través del parámetro de configuración wal_compression
. Además, PostgreSQL 15 también añade la opción recovery_prefetch
, que puede ayudar a acelerar las operaciones de recuperación mediante la captura previa de bloques de datos. Esta versión añade un nuevo módulo llamado pg_walinspect
que permite inspeccionar la información sobre los archivos WAL directamente desde SQL.
PostgreSQL 15 permite realizar el archivado WAL sin ejecutar un comando de shell especificando una archive_library
. Un ejemplo de biblioteca de archivado WAL se puede encontrar en el módulo basic_archive
. Además, las extensiones pueden ahora definir sus propios gestores de recursos WAL que les permiten trabajar con la replicación lógica.
Replicación lógica
PostgreSQL 15 introduce tanto el filtrado de filas como el de columnas para la replicación lógica. Además, los usuarios pueden ahora especificar de forma conveniente la publicación de todas las tablas de un esquema. Anteriormente sólo era posible hacerlo para todas las tablas de una base de datos.
Esta versión añade también un mayor soporte para el manejo de conflictos. En caso de error, un suscriptor puede especificar disable_on_error
para detener automáticamente la replicación lógica. PostgreSQL 15 permite omitir la aplicación de cambios mediante el comando ALTER SUBSCRIPTION ... SKIP
.
Administración
PostgreSQL 15 introduce el formato jsonlog para registros. Esto permite a los registros de PostgreSQL ser utilizados por muchos programas que realizan agregación de registros estructurados y análisis. PostgreSQL 15 ahora realiza por defecto el registro de puntos de control y operaciones de autovacuum que son lentas.
El cliente psql
cuenta ahora con un comando llamado \dconfig
que permite inspeccionar los valores de los parámetros de configuración. De forma predeterminada, \dconfig
muestra cualquier parámetro de configuración que no esté definido en su valor por defecto.
PostgreSQL 15 ahora almacena en la memoria compartida todas las estadísticas a nivel de servidor. El servidor ya no ejecuta un proceso de recolección de estadísticas.
El comando ALTER TABLE
puede ahora modificar el ACCESS METHOD
de una tabla, utilizado para definir el sistema de almacenamiento empleado por la misma.
Seguridad
PostgreSQL 15 introduce nuevos valores por defecto a la hora de crear bases de datos en un cluster de PostgreSQL. Al crear una nueva base de datos, los usuarios que no sean el propietario de la base de datos (representado por pg_database_owner
) y los superusuarios ya no pueden crear objetos en el esquema public
por defecto.
PostgreSQL 15 añade soporte para «security invoker views«, que utiliza los privilegios del usuario que ejecuta la consulta en lugar de los del usuario que creó la vista.
Los usuarios sin privilegios en PostgreSQL 15 ahora pueden obtener privilegios para cambiar las variables del servidor a través de SET
y ALTER SYSTEM
.
Características adicionales
Muchas otras nuevas características y mejoras han sido añadidas a PostgreSQL 15. Varias de ellas también pueden ser útiles para sus casos de uso. Para una lista completa de las características nuevas y de las modificadas, consulten las notas de la versión:
https://www.postgresql.org/docs/15/release-15.html
Pruebas de errores y compatibilidad
La estabilidad de cada versión de PostgreSQL depende en gran medida de que ustedes, la comunidad, prueben la próxima versión con sus cargas de trabajo y herramientas de prueba para detectar errores y regresiones antes del lanzamiento oficial de PostgreSQL 15. Dado que se trata de una versión beta, es posible que se produzcan pequeños cambios en los comportamientos de la base de datos, los detalles de las funciones y las API. Sus impresiones y pruebas ayudarán a determinar los ajustes finales de las nuevas funciones, así que les rogamos que la prueben lo antes posible. La calidad de las pruebas de los usuarios contribuirá a definir el momento en el que lanzaremos la versión final.
Una lista de los problemas abiertos está disponible al público en el wiki de PostgreSQL. Pueden reportar errores usando el siguiente formulario en el sitio web de PostgreSQL:
https://www.postgresql.org/account/submitbug/
Calendario de la versión beta
Este es el primer lanzamiento beta de la versión 15. Según lo requieran las pruebas, el Proyecto PostgreSQL publicará betas adicionales. Serán seguidas por una o más versiones candidatas, hasta el lanzamiento de la versión definitiva a finales de 2022. Para más información, consulten la página de Pruebas Beta.
Enlaces
- Descargas
- Información sobre las pruebas beta
- Notas de la versión Beta de PostgreSQL 15
- Problemas abiertos de PostgreSQL 15
- Reporte de errores