54.4. Carte de visibilité
Chaque relation a une carte de visibilité (VM acronyme de Visibility
Map) pour garder trace des pages contenant
seulement des lignes connues pour être visibles par toutes les
transactions actives. Elle est stockée en dehors du fichier de
données dans un fichier séparé nommé suivant le numéro
relfilenode de la relation, auquel est ajouté le suffixe
_vm. Par exemple, si le relfilenode de
la relation est 12345, la VM est stockée dans un fichier appelé
12345_vm, dans le même répertoire que
celui du fichier de données. Notez que les index n'ont pas de
VM.
La carte de visibilité enregistre un bit par page. Un bit à 1
signifie que toutes les lignes de la page sont visibles par
toutes les transactions. Cela signifie que le page ne contient
pas de lignes nécessitant un VACUUM ; dans le futur, cela
pourra aussi être utilisé pour éviter de visiter la page lors
de vérifications de visibilité. Chaque fois qu'un bit est à 1,
la condition est vraie à coup sûr. Par contre, dans le cas
contraire, la condition peut être vraie comme fausse.