Lanzamiento de PostgreSQL 17.5, 16.9, 15.13, 14.18, y 13.21
El Grupo Global de Desarrollo de PostgreSQL ha lanzado una actualización para todas las versiones soportadas de nuestro sistema de base de datos, incluyendo la 17.5, 16.9, 15.13, 14.18, y 13.21. Esta versión corrige una vulnerabilidad de seguridad y más de 60 errores notificados en los últimos meses.
Para consultar la lista completa de los cambios realizados, revisen las notas de la versión.
Notificación de EOL para PostgreSQL 13
PostgreSQL 13 dejará de recibir correcciones el 13 de noviembre de 2025. Si están ejecutando PostgreSQL 13 en un entorno de producción, les sugerimos que hagan planes para actualizar a una versión más reciente y soportada de PostgreSQL. Para más información, consulten nuestra política de versiones.
Problemas de seguridad
CVE-2025-4207: La validación de codificación GB18030 en PostgreSQL puede acceder a un byte fuera del límite de la memoria asignada al procesar texto que no supera la validación
Puntuación base CVSS 3.1: 5.9
Versiones soportadas vulnerables: 13 – 17.
Un desbordamiento de lectura del búfer en la validación de codificación GB18030 de PostgreSQL puede permitir que alguien que ingrese datos a la base de datos consiga una denegación de servicio temporal en plataformas en las que un desbordamiento de lectura de 1 byte pueda provocar la finalización del proceso. Este problema afecta tanto al servidor de base de datos como a libpq. Las versiones afectadas son las anteriores a PostgreSQL 17.5, 16.9, 15.13, 14.18 y 13.21.
Corrección de errores y mejoras
Esta actualización corrige más de 60 errores reportados en los últimos meses. Aunque los problemas que se enumeran a continuación afectan a PostgreSQL 17, es posible que algunos de ellos afecten también a otras versiones de PostgreSQL.
- Manejo correcto de claves foráneas autorreferenciales en tablas particionadas. Al crear o adjuntar particiones no se creaban las entradas de catálogo necesarias para una restricción de clave foránea si la tabla a la que hacía referencia la restricción era la misma tabla particionada. Esto provocaba la imposibilidad de aplicar la restricción en su totalidad. Para solucionarlo, consulten las instrucciones de la sección «Actualización«.
- Corrección de un posible problema de pérdida de datos al utilizar índices BRIN con Bloom (por ejemplo, al emplear la clase de operadores
date_bloom_ops
). - Corrección de
MERGE
en una tabla particionada con accionesDO NOTHING
- Prevención de fallos en comandos
INSERT
cuando la tabla contiene una columnaGENERATED
de un tipo de dominio cuyas restricciones no permiten valoresNULL
. - Corrección de
ALTER TABLE .. ADD COLUMN
a fin de manejar correctamente casos en los que un tipo de dominio disponga de su propio valor por defecto sin que esté definido el valorDEFAULT
para la columna. - Corrección de problemas al realizar conversiones en las claves de las expresiones del constructor JSON.
- Corrección de
XMLSERIALIZE()
para que la opciónINDENT
se descargue correctamente cuando esté presente en vistas o reglas. Este problema se producía en las operaciones de restauración. - Varias correcciones del planificador de consultas, entre ellas las destinadas a evitar la evaluación prematura de argumentos en una función de agregado que contenga cláusulas
FILTER
junto conORDER BY
oDISTINCT
, lo cual podría provocar fallos innecesarios. - Corrección de un problema que podría generar resultados incorrectos al realizar un escaneo de bitmap sin columnas de salida durante la ejecución de VACUUM en la misma tabla.
- Corrección de problemas de rendimiento al iniciarse la búsqueda de índices GIN cuando existen muchas claves de búsqueda, por ejemplo,
jsonbcol ?| array[...]
con decenas de miles de elementos de array. - Garantiza que las estadísticas de entrada/salida de los WAL senders activos se reporten en un plazo no mayor a un segundo.
- Corrección de una condición de carrera en el manejo de
synchronous_standby_names
inmediatamente después del arranque, por la que un backend podría no esperar un commit síncrono. - Evita un bucle infinito si
scram_iterations
está configurado enINT_MAX
. - Varias correcciones relacionadas con la replicación lógica, incluyendo el manejo del vacuum en torno a registros eliminados que aún son necesarias para la decodificación lógica.
- Previene posibles pérdidas de datos cuando las operaciones de modificación de esquemas (DDL) que no adquieren un bloqueo fuerte afecten a tablas que se están replicando de forma lógica.
- Previene problemas en la replicación lógica que podrían permitir la aplicación de datos duplicados debido a la gestión de errores del worker de aplicación.
- Mejora el modo en que
reindexdb
gestiona la programación de operaciones de reindexación paralelas para alcanzar la cantidad de paralelismo esperada.
Esta versión también actualiza los archivos de datos de zonas horarias a la versión 2025b de tzdata, para reflejar cambios en la legislación sobre el horario de verano en Chile, además de correcciones históricas para Irán. Adicionalmente, se incorpora una nueva zona horaria, America/Coyhaique, correspondiente a la Región de Aysén en Chile, la cual adopta UTC-03 durante todo el año, diferenciándose así de America/Santiago
Actualización
Todas las actualizaciones de PostgreSQL son acumulativas. Al igual que en otras actualizaciones menores, para instalar esta actualización no es necesario realizar un volcado y volver a cargar la base de datos o usar pg_upgrade
. Es suficiente con detener PostgreSQL y actualizar sus binarios.
Si se han creado claves foráneas autorreferenciales en una tabla particionada, tras la actualización se deberá eliminar y recrear cualquiera de dichas claves si se han creado o adjuntado particiones desde que se definió la restricción. Podrían existir registros en alguna partición que violen esta restricción; en ese caso, la recreación de la restricción fallará y será necesario corregir esos registros antes de volver a intentarlo.
Si anteriormente omitieron una o más actualizaciones, podría ser necesario seguir algunos pasos posteriores a la actualización. Para más detalles consulten las notas de las versiones anteriores.
Para más detalles, véanse las notas de la versión.
Enlaces
Si desean hacer correcciones o sugerencias para este anuncio de lanzamiento, por favor envíelas a la lista de correo pública pgsql-www@lists.postgresql.org