PostgreSQL 14 llegó a su fin de vida y PostgreSQL 19 sale el 19 de noviembre: qué hacer en una app Laravel
Tabla de Contenidos
PostgreSQL 14 recibió su última versión el 12 de noviembre de 2026 (la 14.25) y ya está en fin de vida: no habrá más correcciones de seguridad ni de errores. El mismo día el proyecto publicó una actualización de seguridad para todas las versiones con soporte que cierra 52 vulnerabilidades, y el segundo candidato a versión de PostgreSQL 19, cuya disponibilidad general está prevista para el 19 de noviembre de 2026. Si tu app Laravel todavía habla con una 14, esa actualización es la última que va a recibir, y es la que más importa. Si estás en la 15 a la 18, tienes soporte; la pregunta es a qué salto y cuándo.
Todo sale de postgresql.org (el anuncio del 12 de noviembre, la política de versiones y las notas de versión de PostgreSQL 19, cuya línea de fecha dice «a 2026-10-09»), consultado el 13 de noviembre de 2026. PostgreSQL 19 aún no ha salido, así que lo que digo de ella es una vista previa.
Fechas de soporte
PostgreSQL da soporte a cada versión mayor durante cinco años. De la página de política de versiones:
| Mayor | Menor actual | Primera versión | Última versión (fin de vida) |
|---|---|---|---|
| 14 | 14.25 | 30-sep-2021 | 12-nov-2026 (ya sin soporte) |
| 15 | 15.20 | 13-oct-2022 | 11-nov-2027 |
| 16 | 16.16 | 14-sep-2023 | 9-nov-2028 |
| 17 | 17.12 | 26-sep-2024 | 8-nov-2029 |
| 18 | 18.7 | 25-sep-2025 | 14-nov-2030 |
| 19 | (sin publicar) | prevista 19-nov-2026 | cinco años después de salir |
Laravel no es la restricción: la documentación de base de datos de Laravel 13 lista PostgreSQL 10.0+, así que el framework habla con cualquiera de la 14 a la 19. El límite es la ventana de soporte de la propia base.
La actualización que debes aplicar primero
La versión del 12 de noviembre corrige 52 vulnerabilidades de seguridad y más de 140 errores. Varias piden pasos posteriores, según la sección «Updating» del anuncio:
- Reindexar los índices GiST de
pg_trgm(posibles búsquedas que omiten resultados) y los índices B-tree sobre columnasbpchardeclaradas sin longitud. - Hacer un respaldo completo nuevo después de actualizar si usas respaldos incrementales.
- Revisar las restricciones
NOT NULL NO INHERITen tablas particionadas.
Si estás en la 15 a la 18, instala la menor que toca (15.20, 16.16, 17.12 o 18.7) y lee esa sección. Si estás en la 14, puedes aplicar la 14.25 como parche de emergencia, pero la próxima vulnerabilidad no tendrá corrección: planea el salto mayor, no te quedes en parchear.
A cuál moverte
Mi recomendación para una app Laravel en producción hoy es PostgreSQL 18 (18.7, con soporte hasta el 14 de noviembre de 2030), o la 17 si tu proveedor aún no ofrece la 18. PostgreSQL 19 es una versión mayor nueva, y una mayor nueva suele acumular sus primeras correcciones en las menores que le siguen. Saltar de la 14 a la 19 la misma semana en que sale te da poco frente a la 18, que ya tiene soporte hasta 2030. Es una opinión, no una regla: para un proyecto nuevo, la 19 es una elección razonable cuando salga la 19.1.
Cualquier salto de versión mayor exige pg_upgrade, un volcado y restauración o replicación lógica; no hay actualización en sitio como la de las versiones menores.
Qué cambia en PostgreSQL 19 (según sus notas de versión)
Las notas listan incompatibilidades con versiones anteriores. Las que revisaría en una app Laravel:
standard_conforming_stringsqueda siempre activo. Los volcados hechos con unpg_dumpviejo y la opción apagada no cargan en la 19; haz el volcado con las herramientas cliente de la 19.json_array()sin filas devuelve un arreglo vacío en lugar deNULL. Mira las consultas crudas y accesores que tratenNULLcomo «sin elementos».- JIT queda desactivado por defecto. Importa si corres consultas analíticas grandes y dependías de él.
max_locks_per_transactionpasa de 64 a 128 por defecto, y la variableio_workersse reemplaza por cuatro nuevas (afecta tupostgresql.conf, no a Laravel).- La autenticación por contraseña MD5 ahora emite un aviso tras un inicio de sesión correcto (MD5 quedó obsoleto en la 18). Si las contraseñas de tus roles son MD5, pasa a SCRAM.
- Se elimina la autenticación RADIUS.
pg_upgraderechaza clústeres con índicesbtree_gistsobre columnasinet/cidr, y con saltos de línea o retornos de carro en nombres de base o de rol.
Novedades que vale la pena conocer: un comando REPACK (con opción CONCURRENTLY que no bloquea lecturas ni escrituras), comprobaciones de llaves foráneas más rápidas, replicación lógica de secuencias y un comando WAIT para consistencia de «leer lo que escribiste» en réplicas. Nada de eso cambia cómo funcionan Eloquent o las migraciones; el beneficio es operativo.
Qué revisar en una app Laravel
# ¿A qué versión está hablando de verdad la app?
php artisan db:show
# O desde tinker / SQL
php artisan tinker --execute="dump(DB::select('select version()'));"
- Antes de actualizar, corre tu suite de pruebas contra la versión destino en la CI (basta un contenedor de servicio
postgres:18). Las pruebas en SQLite no cazan las diferencias de Postgres, así que esta es la que cuenta. - Busca SQL crudo que use
json_array,COPYo ajustes que dependan de la versión. - ¿Detrás de PgBouncer o un pooler? Laravel 13 documenta una opción
directpara conexiones PostgreSQL con pool, de modo que las migraciones y los comandos de mantenimiento usen una conexión directa; comprueba que sigue aplicando después del salto. - Ensaya el salto en una copia de los datos de producción y mide el tiempo: la parada de
pg_upgradeo de una restauración crece con el tamaño de los datos.
Preguntas frecuentes
¿Cuándo llegó PostgreSQL 14 a su fin de vida?
PostgreSQL 14 recibió su última versión (14.25) el 12 de noviembre de 2026, según la política de versiones y el anuncio de ese día. Ya no recibe correcciones de seguridad ni de errores.
¿Cuándo sale PostgreSQL 19?
El proyecto PostgreSQL dice que la fecha prevista para la disponibilidad general de PostgreSQL 19 es el 19 de noviembre de 2026. El segundo candidato a versión salió el 12 de noviembre de 2026, y los candidatos son casi idénticos a la versión final.
¿Qué versiones de PostgreSQL soporta Laravel 13?
La documentación de base de datos de Laravel 13 lista PostgreSQL 10.0 o superior. El límite real es la ventana de soporte de la base: PostgreSQL 15 tiene soporte hasta el 11 de noviembre de 2027, la 16 hasta el 9 de noviembre de 2028, la 17 hasta el 8 de noviembre de 2029 y la 18 hasta el 14 de noviembre de 2030.
¿Necesito volcar y restaurar para actualizar PostgreSQL?
Para cambiar de versión mayor necesitas un volcado y restauración con pg_dumpall, pg_upgrade o replicación lógica, según las notas de versión de PostgreSQL 19. Las actualizaciones menores dentro de la misma mayor (por ejemplo de la 18.6 a la 18.7) son un reemplazo de binarios y un reinicio.
¿Conviene saltar a PostgreSQL 19 de inmediato?
Es una decisión de criterio. PostgreSQL 19 está prevista para el 19 de noviembre de 2026 y no había salido al escribir esto. Para producción yo elegiría la 18 (con soporte hasta el 14 de noviembre de 2030) y consideraría la 19 cuando estén las primeras versiones menores; para un proyecto nuevo, la 19 es una elección razonable.
¿Te sirvió? Recibe la próxima por correo
Una vez por semana: qué se rompe al actualizar, IA para desarrolladores y lo que estoy construyendo, con fuentes. Sin spam.
Al suscribirte aceptas nuestro aviso de privacidad.