Verrouillage et Index

Bien que Postgres fournisse un accès non-bloquant en lecture/écriture aux données des tables, l'accès en lecture/écriture non-bloquant n'est pas fourni pour chaque méthode d'accès par index implémentée dans Postgres.

Les différents types index sont :

index GIST et arborescence-R R-Tree

les verrous partagé/exclusif niveau-index sont utilisés pour les accès en lecture/écriture. Les verrous sont libérés une fois la commande exécutée.

Index de hachage

Les verrous partagé/exclusif niveau-page sont utilisés pour les accès en lecture/écriture. Les verrous sont libérés une fois la commande exécutée.

Les verrous niveau-page procurent une meilleure concurrence que les niveau-index mais sont sujets aux verrous mortels deadlocks.

Arborescence-B B-Tree

Les verrous niveau-page partagé/exclusif sont utilisés pour les accès en lecture/écriture. Les verrous sont libérés immédiatement après que le tuple index soit inséré.

Les index arborescence-B procurent la meilleure concurrence sans les conditions de verrou mortel.