

   Certaines commandes DDL, actuellement seulement
   TRUNCATE et les formes
   d'ALTER TABLE
   qui réécrivent la table, ne sont pas sûres au niveau MVCC. Ceci signifie
   que, après la validation d'une troncature ou d'une réécriture, la table
   apparaîtra vide aux transactions concurrentes si elles utilisaient une
   image de la base datant d'avant la validation de la commande DDL. Ceci ne
   sera un problème que pour une transaction qui n'a pas encore accédé à la
   table en question avant le lancement de la commande DDL  --  toute
   transaction qui a fait cela détiendra au moins un verrou de type
   ACCESS SHARE sur la table, ce qui bloquera la commande
   DDL jusqu'à la fin de la transaction. Donc ces commandes ne causeront pas
   d'incohérence apparente dans le contenu de la table pour des requêtes
   successives sur la table cible, mais elles seront la cause d'incohérence
   visible entre le contenu de la table cible et les autres tables de la
   base.
  
L'accès interne aux catalogues système n'est pas faite en utilisant le niveau d'isolation de la transaction actuelle. Ceci signifie que les objets de base nouvellement créés, comme des tables, sont visibles aux transactions concurrentes en Repeatable Read et en Serializable, même si les lignes qu'elles contiennent ne le sont pas. À l'inverse les requêtes qui examinent les catalogues systèmes ne voient pas les lignes représentant les objets créés en concurrence dans les plus haut niveaux d'isolation.