Actualización de PostgreSQL 14.4 corrigiendo la corrupción de índices

Se ha lanzado una versión corregida de la base de datos PostgreSQL 14.4, en la que se ha solucionado un grave problema que, en determinadas circunstancias, podría llevar a un daño inadvertido de los datos en los índices al ejecutar los comandos «CREATE INDEX CONCURRENTLY» y «REINDEX CONCURRENTLY». En los índices creados mediante estos comandos, podrían no tenerse en cuenta ciertos registros, lo que llevaría a omitir filas individuales al realizar consultas SELECT utilizando los índices problemáticos.

Para determinar si hay daño en los índices B-tree, se puede utilizar el comando «pg_amcheck —heapallindexed nombre_DB». En caso de detectar errores o si se aplicaron en versiones anteriores los comandos «CREATE INDEX CONCURRENTLY» y «REINDEX CONCURRENTLY» con otros tipos de índices (GiST, GIN, etc.), se recomienda realizar una reindexación utilizando la herramienta «reindexdb —all» o el comando «REINDEX CONCURRENTLY nombre_índice» después de actualizar a la versión 14.4.

El problema afecta únicamente a la rama 14.x, que incluyó optimizaciones que excluyen algunas transacciones relacionadas con la ejecución de «CREATE INDEX CONCURRENTLY» y «REINDEX CONCURRENTLY» durante la operación VACUUM. Como resultado de estas optimizaciones, algunos tuplas en memoria heap que fueron actualizadas o truncadas durante la creación del índice no fueron incluidas en los índices creados en modo «CONCURRENTLY».

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster