ROLLBACK PREPARED — 二相コミット用に事前に準備されたトランザクションを取り消す
ROLLBACK PREPARED transaction_id
ROLLBACK PREPAREDは、準備された状態のトランザクションをロールバックします。
transaction_idロールバックさせるトランザクションのトランザクション識別子です。
準備されたトランザクションをロールバックするには、トランザクションを元々実行したユーザかスーパーユーザでなければなりません。 しかし、トランザクションを実行したのと同じセッション内で実行する必要はありません。
このコマンドはトランザクションブロック内では実行できません。 準備されたトランザクションは即座にロールバックされます。
現在利用できるすべての準備されたトランザクションはpg_prepared_xactsシステムビュー内に列挙されています。
トランザクション識別子foobarで識別されるトランザクションをロールバックします。
ROLLBACK PREPARED 'foobar';
ROLLBACK PREPAREDはPostgreSQLの拡張です。
これは外部のトランザクション管理システムによる利用を意図したものです。
ただし外部のトランザクション管理システムの中には標準化されたもの(X/Open XAなど)もありますが、こうしたシステムでもSQL側は標準化されていません。