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