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