☰ Menu

05.10.2026 · Signal Titans Editorial

Publication de pg_ivm 1.16 : corrections pour les verrous de transaction et les OID élevés

pg_ivm 1.16 corrige des erreurs de verrouillage de transaction, des segfaults et des problèmes de gestion des OID élevés et des types de données.

Blocs géométriques minimalistes glissant de manière fluide pour symboliser les mises à jour incrémentielles d'une base de données.

Le groupe de développement d'IVM a publié la version 1.16 de pg_ivm, une extension PostgreSQL conçue pour assurer la maintenance incrémentielle des vues matérialisées. Cette mise à jour résout des cas limites critiques ayant entraîné des erreurs de segmentation, des échecs intempestifs de transactions et des dysfonctionnements liés à des valeurs d'identifiants d'objets (OID) élevées.

Verrous de transaction et corrections de plantages

L'un des correctifs majeurs de la version 1.16 résout des échecs de transaction injustifiés causés par le calendrier de libération des verrous. Auparavant, les verrous posés sur les vues matérialisées maintenues de manière incrémentielle — afin d'éviter les anomalies lors de modifications simultanées — pouvaient persister jusqu'à la validation de la transaction. Cela provoquait des erreurs de verrouillage inutiles, même en l'absence de maintenance concurrentielle réelle. La solution, apportée par Dzmitry Levankou, élimine également des échecs intermittents lors des tests d'isolation sous forte charge.

Le développeur Yugo Nagata a pour sa part corrigé un scénario de plantage survenant lorsqu'une vue matérialisée était à la fois mise à jour et supprimée au sein d'une même transaction, une séquence qui déclenchait jusqu'alors une erreur de segmentation.

Gestion des OID élevés et des types de données personnalisés

La mise à jour traite également des contraintes de dépassement de capacité d'entier lors de la maintenance des vues. Le contributeur Artur Aleksander Kanošin a résolu un problème où les opérations de maintenance échouaient lorsque la valeur du compteur global d'identifiants d'objets dépassait INT_MAX.

Par ailleurs, Yugo Nagata a corrigé des erreurs de maintenance liées aux types de données ne disposant pas d'opérateurs d'égalité par défaut. Avant ce correctif, la mise à jour d'une table source contenant une colonne de ce type interrompait la maintenance de la vue, même si cette colonne spécifique n'était pas référencée dans la définition de la vue.

Vues matérialisées incrémentielles immédiates

L'extension pg_ivm permet d'appliquer une maintenance incrémentielle immédiate des vues dans les environnements PostgreSQL. Au lieu d'imposer un recalcul complet de la vue matérialisée, le module calcule et applique uniquement les modifications incrémentielles dès qu'une table de base est modifiée, réduisant ainsi la charge nécessaire au maintien de résultats à jour.

Illustration éditoriale générée par IA ; ce n’est pas une photographie documentaire.

Source: pg_ivm 1.16 released