2017-02-09 Cumulative Update Release

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

2017-02-09 Cumulative Update Release

Martín Marqués-2
El Grupo Global de Desarrollo de PostgreSQL ha liberado una
actualización para todas las versiones soportadas de nuestro sistema de
base de datos, lo que incluye las versiones 9.6.2, 9.5.6, 9.4.11, 9.3.16
y 9.2.20. Esta actualización incluye correcciones que previenen
problemas de corrupción de datos en la creación de índices y problemas
en ciertas situaciones de restauración de WAL, los cuales se detallan
abajo. También corrige más de 75 otros fallos reportados en los últimos
tres meses.


Los usuarios deben planificar la aplicación de esta actualización en la
siguiente ventana de mantención planeada.


Corrupción al crear índices con CREATE INDEX CONCURRENTLY
----------------------------------------------------------------------------------------


Se producía una condición de carrera si se ejecutaba CREATE INDEX
CONCURRENTLY en una columna que no estaba indexada previamente, por lo
que los registros que eran modificados por UPDATEs que se estaban
ejecutando simultáneamente con CREATE INDEX CONCURRENTLY podrían no
haber sido indexados.


Si sospecha que esto le pudo haber pasado, la solución más confiable es
reconstruir los índices afectados después de instalar esta actualización.


Este problema está presente en las series 9.2, 9.3, 9.4, 9.5 y 9.6 de
PostgreSQL.


Arreglos para visibilidad y estabilidad del WAL
-----------------------------------------------------------


Esta actualización contiene varios arreglos para mejorar la estabilidad
de los datos visibles y del registro del WAL que quisiéramos destacar aquí.


Antes de esta actualización, había datos que podían ser eliminados
prematuramente por un VACUUM que eran necesarios para un “snapshot”
usado para examinar catálogos del sistema. Específicamente, VACUUM no
estaría enterado del xmin más antiguo para este “snapshot” especial. El
error se manifiesta con un mensaje como:


“cache lookup failed for relation 1255”


Esta actualización asegura que los VACUUM tomarán en cuenta los
“snapshots” para examinar catálogos de sistema.


Además, hay varios arreglos para mejorar la estabilidad del registro del
WAL, incluyendo:


* Arreglo para el registro de índices BRIN en el WAL, donde una
restauración podía hacer que una porción del índice BRIN quedara
inutilizable y requiriera recrearse.
* Arreglo para una tabla “unlogged” cuando un registro de WAL se crea
bajo la opción “wal_level = minimal”, y al restaurar luego de una caída,
la tabla no pareciera restablecerse apropiadamente.
* Arreglo en la validación de cabecera de página de WAL al releer
segmentos que causaba el error “ID de timeline fuera de secuencia” que
podía aparecer durante la recuperación


Estos problemas están presentes en la serie de versiones 9.6 de
PostgreSQL y puede que estén presentes en las series 9.2, 9.3, 9.4 y 9.5.


Mejoras y correcciones de fallos
-----------------------------------


Esta actualización también corrige varios fallos reportados en los
últimos meses. Algunos de estos problemas sólo afectan a la serie 9.6,
pero puede que afecten a todas las versiones soportadas. Hay más de 75
correcciones provistas en esta actualización, incluyendo:


* Varios arreglos para PostgreSQL al funcionar en modo hot standby
* Prohibir que se establezca el campo num_sync en cero, en
synchronous_standby_names
* No contar los procesos background worker en el límite de conexiones de
un usuario
* Arreglo en la verificación de que un objeto miembro de una extensión
pueda ser eliminado
* Arreglo al buscar privilegios iniciales de objetos miembros de una
extensión para que funcione correctamente con ALTER EXTENSION … ADD/DROP
* Varios arreglos para VACUUM y AUTOVACUUM
* Arreglo en CREATE OR REPLACE VIEW para que actualice la consulta de la
vista antes de intentar aplicar las nuevas opciones de vista
* Asegurar que ALTER TABLE conserve asignaciones de tablespace para
índices al reconstruir los índices
* Varios arreglos al planificador de consultas, incluyendo arreglos para
tablas foráneas y CTEs
* Varios arreglos a la característica de búsqueda de texto completo para
mejorar la precisión y el rendimiento de la búsqueda
* Varios arreglos y mejoras de rendimiento en varias funciones de array
* Varios arreglos en la interacción de restricciones de llave foránea
con funciones de disparador en operaciones ALTER TABLE específicas
* Eliminación de optimizaciones para tipos de datos de fecha/hora que
retornaban datos incorrectos
* Arreglo al uso incorrecto de reloptions de vista como reloptions de
una tabla normal
* Arreglo al mensaje “las listas de resultados pueden tener a lo más N
entradas” que aparecía incorrectamente al usar ON CONFLICT con tablas de
muchas columnas
* Arreglo a mensajes falsos de error tipo “la consulta entrega un valor
para una columna eliminada” que aparecía incorrectamente al hacer INSERT
o UPDATE en una tabla con una columna eliminada
* Prevenir expansión multicolumna de foo.* en una expresión con base UPDATE
* Asegurar que los typmods de columna se determinen de forma precisa
para constructos VALUES con múltiples registros
* Varios arreglos para la herramienta de línea de comandos psql
* Prevenir que se ejecuten múltiples llamados a pg_start_backup() y
pg_stop_backup() al mismo tiempo
* Varios arreglos para pg_dump, pg_restore y pg_basebackup, incluyendo
una posible falla de pg_basebackup en un servidor standby al incluir
ficheros de WAL
* Varios arreglos para trabajadores paralelos y planes para consultas
paralelas incluyendo el arreglo a una caída que se producía si el número
de trabajadores disponibles para una consulta paralela disminuía durante
un reescaneo
* Varios arreglos para Unicode
* Varios arreglos para PL/pgSQL, PL/Python y PL/Tcl
* Varios arreglos para módulos contrib
* Permitir caracteres de fin de línea estilo DOS en los ficheros
~/.pgpass, incluso en Unix
* Sincronización de nuestra copia de la librería para zonas horarias con
la versión tzcode2016j de IANA
* Actualización de los ficheros con datos de zonas horarias a la versión
2016j de tzdata por cambios en la ley de horario de verano en Chipre del
Norte (agregando una nueva zona Asia/Famagusta), Rusia (agregando una
nueva zona Europa/Saratov), Tonga y Antártica/Casey. Correcciones
históricas para Italia, Kazajistán, Malta y Palestina. Cambio de
preferencia a abreviaciones numéricas de zona para Tonga.




Actualizando
----------------


Todas las actualizaciones de PostgreSQL son acumulativas. Al igual que
otros lanzamientos de versiones menores, no se requiere que los usuarios
hagan un dump y vuelvan a cargar sus bases de datos o usen pg_upgrade
para aplicar esta actualización; puede simplemente parar PostgreSQL y
actualizar sus binarios.


Si cree que puede estar afectado por el fallo en CREATE INDEX
CONCURRENTLY mencionado anteriormente, tendrá que reconstruir el índice.
Un ejemplo de reconstrucción de índice:


CREATE INDEX CONCURRENTLY nuevo_indice ON nombre_table (nombre_columna);
DROP INDEX CONCURRENTLY indice_antiguo;
/* Si lo desea, puede renombrar el índice para conservar el nombre
original: */
ALTER INDEX nuevo_indice RENAME TO indice_antiguo;


Los usuarios que se hayan saltado una o más actualizaciones pueden tener
que seguir pasos adicionales luego de la actualización; por favor vea
las notas de versión de las versiones anteriores para tener más detalles.


Links:
* [Descarga](http://www.postgresql.org/download)
* [Notas de la
versión](http://www.postgresql.org/docs/current/static/release.html)
* [Página de seguridad](http://www.postgresql.org/support/security/)
* [Política de
versionamiento](https://www.postgresql.org/support/versioning/)

--
Martín Marqués                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services


--
Sent via arpug mailing list ([hidden email])
To make changes to your subscription:
http://www.postgresql.org/mailpref/arpug