HeadlinesBriefing favicon HeadlinesBriefing.com

PostgreSQL 19: Nuevas características y grafos de propiedades

Hacker News •
×

PostgreSQL 19 se encuentra en fase beta, con disponibilidad general esperada alrededor de septiembre u octubre de 2026. Este artículo sirve como un compañero práctico de las notas de lanzamiento oficiales, convirtiendo entradas seleccionadas en ejemplos ejecutables para que los usuarios puedan ver cómo funcionan realmente los nuevos comportamientos. Las características se basan en las notas de lanzamiento oficiales y el código fuente de PostgreSQL bajo la Licencia de PostgreSQL. Antes de explorar las nuevas características, es importante tener en cuenta que esta no es una lista exhaustiva; se deben consultar las notas de lanzamiento oficiales para obtener información completa. Todos los ejemplos se ejecutaron contra PostgreSQL 19 beta 3 (publicado el 2026-08-13), y la salida refleja lo que ese servidor realmente imprimió.

Las consultas de grafos de propiedades son la característica destacada de esta versión. PostgreSQL 19 implementa SQL/PGQ, la parte de grafo de propiedades de SQL:2023. Los usuarios pueden declarar un grafo de propiedades sobre tablas existentes y consultarlo con coincidencia de patrones en lugar de escribir joins manualmente. Dos tablas ordinarias pueden configurarse como vértices y aristas, permitiendo coincidencia de patrones con GRAPH_TABLE donde las aristas dirigidas se coinciden usando la sintaxis -[...]->. El beneficio es la capacidad de realizar patrones de múltiples saltos; encadenar dos aristas recupera amigos-de-amigos sin necesidad de un auto-join, y un () vacío significa "algún vértice que no me importa nombrar". Una limitación importante es que no se admiten rutas de longitud variable; cuantificadores como -[IS follows]->{1,3} se analizan pero se rechazan, requiriendo que cada salto se especifique explícitamente. La consulta GRAPH_TABLE se reescribe como una consulta relacional plana, lo que significa que el planificador, las estadísticas y las opciones de índice ya conocidas por el usuario aún se aplican.

Las actualizaciones y eliminaciones temporales introducen la nueva cláusula FOR PORTION OF en las sentencias UPDATE y DELETE. Esta cláusula permite especificar un período de tiempo válido para la operación, habilitando una manipulación de datos más precisa dentro de tablas bitemporales. La característica se integra con tablas versionadas por sistema para garantizar que las actualizaciones y eliminaciones solo afecten a las filas dentro del rango de tiempo especificado, mejorando la integridad de los datos para aplicaciones que requieren seguimiento histórico.

La versión también mejora las capacidades de JSON y consulta. Nuevos operadores y funciones mejoran el manejo de tipos de datos JSON, permitiendo una consulta y manipulación más eficientes. Estas mejoras reducen la necesidad de subconsultas complejas o procesamiento externo al trabajar con datos semiestructurados, proporcionando mejor rendimiento y sintaxis más sencilla para operaciones comunes de JSON.

Entidades clave: Empresas: PostgreSQL | Personas: Peter Eisentraut, Ashutosh Bapat