PostgreSQL accepte un protocole de validation en
   deux phases (two-phase commit ou
   2PC) qui permet à des systèmes distribués de fonctionner
   ensemble d'une façon transactionnelle. Les commandes sont PREPARE
   TRANSACTION, COMMIT PREPARED et
   ROLLBACK PREPARED. Les transactions en deux phases ont
   pour but d'être utilisées par des systèmes de gestion externe des
   transactions. PostgreSQL suit les fonctionnalités
   et le modèle proposés par le standard X/Open XA, mais n'implémente pas certains
   aspects moins fréquemment utilisés.
  
   Quand l'utilisateur exécute PREPARE TRANSACTION, les
   seules commandes possibles après sont COMMIT PREPARED
   ou ROLLBACK PREPARED. En général, cet état préparé est
   censé avoir une durée de vie très courte, mais des problèmes externes de
   disponibilité pourraient forcer les transactions à rester dans cet état
   pour un long moment. Les transactions préparées rapides sont stockées
   uniquement en mémoire partagée et dans les WAL. Les transactions qui durent
   pendant plusieurs checkpoints sont enregistrées dans le répertoire
   pg_twophase. Les transactions préparées en cours
   peuvent être inspectées en utilisant la vue pg_prepared_xacts.