PostgreSQL 19 está en fase beta, con disponibilidad general prevista para septiembre u octubre de 2026, y ya puede probarse para anticipar sus novedades. Este artículo, basado en las notas de versión oficiales y probado contra PostgreSQL 19 beta 3 (publicada el 13 de agosto de 2026), repasa con ejemplos ejecutables las principales incorporaciones de la próxima versión.
La novedad más destacada es SQL/PGQ, la parte de grafos de propiedades de SQL:2023. Permite declarar un grafo sobre tablas existentes con CREATE PROPERTY GRAPH y consultarlo mediante coincidencia de patrones con GRAPH_TABLE, encadenando varios saltos sin recurrir a autocombinaciones. El motor relacional tradicional se ocupa de la planificación, por lo que valen las estadísticas e índices habituales. La limitación actual es que no admite trayectorias de longitud variable: los cuantificadores como {1,3} se rechazan.
La cláusula FOR PORTION OF, nueva en UPDATE y DELETE, actúa sobre un subconjunto de una columna de rango temporal, dividiendo o recortando la fila afectada y dejando intactos los periodos no modificados. Se complementa con un nuevo capítulo de documentación sobre tablas temporales.
También se incorpora ON CONFLICT DO SELECT en INSERT, que devuelve las filas en conflicto sin modificarlas; con una cláusula de bloqueo (FOR UPDATE o FOR SHARE) se puede distinguir filas realmente insertadas de las que ya existían mediante el truco xmax = 0. Las funciones ventana lead(), lag(), first_value(), last_value() y nth_value() aceptan ahora IGNORE NULLS y RESPECT NULLS, lo que simplifica el rellenado de huecos en datos dispersos. Por último, REPACK unifica VACUUM FULL y CLUSTER; su opción CONCURRENTLY reconstruye la tabla sin bloqueo ACCESS EXCLUSIVE, decodificando los cambios que llegan durante el proceso y reproduciéndolos.
