Mise à jour PostgreSQL 14.4 avec correctif de corruption d'index

Une version corrective du SGBD PostgreSQL 14.4 a été créée, qui élimine un problème grave qui, dans certaines circonstances, conduit à une corruption invisible des données dans les index lors de l'exécution des commandes « CREATE INDEX CONCURRENTLY » et « REINDEX CONCURRENTLY ». Dans les index créés à l'aide des commandes spécifiées, certains enregistrements peuvent ne pas être pris en compte, ce qui entraînera des lignes manquantes lors de l'exécution de requêtes SELECT impliquant des index problématiques.

Pour déterminer si les index B-tree ont été endommagés, vous pouvez utiliser la commande « pg_amcheck –heapallindexed db_name ». Si des erreurs sont identifiées ou si les commandes « CREATE INDEX CONCURRENTLY » et « REINDEX CONCURRENTLY » ont été utilisées dans les versions précédentes avec d'autres types d'index (GiST, GIN, etc.), après la mise à jour vers la version 14.4, il est recommandé d'effectuer une réindexation à l'aide du "reindexdb —all" ou la commande "REINDEX CONCURRENTLY index_name."

Le problème affecte uniquement la branche 14.x, qui comprenait des optimisations excluant certaines transactions associées à l'exécution de « CREATE INDEX CONCURRENTLY » et « REINDEX CONCURRENTLY » lors de l'exécution de l'opération VACUUM. En raison de ces optimisations, les index créés en mode CONCURRENTLY n'incluaient pas certains tuples dans la mémoire tas qui avaient été mis à jour ou tronqués lors de la création de l'index.

Source: opennet.ru

Ajouter un commentaire