PostgreSQL 15 ya ha sido publicada como la última versión mayor de este conocido sistema gestor de bases de datos relacionales (SGBDR), que en esta ocasión llega con algunas mejoras importantes a nivel de rendimiento, operaciones lógicas y en características para desarrolladores.
En cuanto a los aspectos relacionados con el rendimiento, PostgreSQL ha mejorado entre un 25 y un 400 por ciento el desempeño de los algoritmos de clasificación (ORDER BY
) tanto en disco como en memoria. Las funciones de ventana row_number()
, rank()
, dense_rank()
y count()
también han visto su desempeño mejorado, mientras que las consultas que emplean SELECT DISTINCT
pueden ser ejecutadas en paralelo.
Como vía adicional para mejorar el rendimiento y las instalaciones/estructuras de respaldo, PostgreSQL 15 ha añadido soporte de compresión LZ4 y zstd para archivos de escritura anticipada (WAL), lo cual puede beneficiar en términos de espacio y en el desempeño de ciertas cargas de trabajo. Eso se suma en algunos sistemas soportados a la precarga (prefetch) de las páginas referenciadas en los WAL para contribuir a la aceleración de los tiempos de recuperación. Por último, y con el fin de mejorar el soporte de consultar remotas asíncronas, el wrapper de datos externos de PostgreSQL soporta ahora commits asíncronos.
Para los desarrolladores nos encontramos con el comando estándar de SQL MERGE
, que permite escribir sentencias condicionales de SQL que pueden incluir las acciones INSERT
, UPDATE
y DELETE
en una única sentencia. Además, PostgreSQL 15 incluye en ese frente nuevas funciones que pueden usarse para expresiones regulares y la función range_agg
ha sido extendida para agregar tipos de datos multirrango. Como medida de protección para asegurarse de que las personas tengan los permisos necesarios para lidiar con los datos, la opción security_invoker
permite crear vistas que consultan datos utilizando los permisos de la persona que llama y no los del creador de la vista.
La flexibilidad ofrecida por este SGBDR ha sido mejorada para el manejo de la replicación lógica. Para ello se ha introducido filtrado de fila y listas de columnas para los publicadores, permitiendo así a los usuarios elegir replicar un subconjunto de datos de una tabla. Por otro lado, se han añadido características para simplificar la gestión de los conflictos y soporte para usar commits en dos fases (2PC) con la replicación lógica.
PostgreSQL 15 ha introducido jsonlog
, el cual es un nuevo formato de salida de los datos de registro que emplea una estructura de JSON definida. La nueva versión mayor del SGBDR permite que los registros se procesen en sistemas de registro estructurado, dando a los administradores de bases de datos más flexibilidad a la hora de definir cómo pueden los usuarios manejar la configuración de PostgreSQL al haberse añadido a nivel del servidor la capacidad de concederles permisos para modificar parámetros de configuración.
Otros puntos interesantes de PostgreSQL 15 son que las estadísticas a nivel de servidor son ahora recolectadas en la memoria compartida, eliminando así el proceso de recolección de estadísticas y la escritura periódica de dichos datos en disco; la posibilidad de establecer la intercalación ICU como la predeterminada en un clúster o una base de datos individual; la posibilidad de revocar el permiso de crear para todos los usuarios menos el propietario de la base de datos del esquema público o por defecto; además de eliminar los soportes para Python 2 y el modo de “respaldo exclusivo” debido a que fueron marcados hace tiempo como obsoletos.
Todos los detalles sobre PostgreSQL 15 están publicados en el anuncio oficial y las notas de lanzamiento, mientras que el SGBDR puede ser obtenido oficialmente para Linux, macOS, Windows, BSD y Solaris a partir de la correspondiente sección de descargas en el sitio web oficial del proyecto.
Fuente: muylinux