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