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 쪽은 표준화되지 않았어요.

더 알아보기 (Learn more)