COMMIT PREPARED — 2단계 커밋을 위해 준비된 트랜잭션 커밋하기
COMMIT PREPARED — 2단계 커밋을 위해 준비된 트랜잭션 커밋하기
COMMIT PREPARED 명령은 2단계 커밋(two-phase commit)을 위해 미리 prepared 상태로 만들어 둔 트랜잭션을 최종적으로 커밋하는 명령이에요. 외부 트랜잭션 관리 시스템에서 준비된 트랜잭션을 확정할 때 사용해요.
출처: PostgreSQL 문서
본문
Synopsis
COMMIT PREPARED transaction_id
Description
COMMIT PREPARED는 prepared 상태에 있는 트랜잭션을 커밋해요.
Parameters
transaction_id
커밋하려는 트랜잭션의 트랜잭션 식별자예요.
Notes
prepared 트랜잭션을 커밋하려면, 원래 그 트랜잭션을 실행했던 동일한 사용자이거나 슈퍼유저여야 해요. 다만 그 트랜잭션을 실행했던 동일한 세션에 있을 필요는 없어요.
이 명령은 트랜잭션 블록 안에서는 실행할 수 없어요. prepared 트랜잭션은 즉시 커밋돼요.
현재 사용 가능한 모든 prepared 트랜잭션은 pg_prepared_xacts 시스템 뷰에 나열돼 있어요.
Examples
foobar라는 트랜잭션 식별자로 식별되는 트랜잭션을 커밋하기:
COMMIT PREPARED 'foobar';
Compatibility
COMMIT PREPARED는 PostgreSQL 확장이에요. 외부 트랜잭션 관리 시스템(X/Open XA 같은 일부 표준으로 커버되는 시스템 포함)에서 사용하도록 만들어진 명령인데, 그런 시스템의 SQL 쪽은 표준화되지 않았어요.