끄적대기

Transaction(트랜잭션) : BEGIN, COMMIT, ROLLBACK

alpha-star 2022. 3. 24. 01:28
728x90
반응형

˙PostgreSQL Transaction

 PostgreSQL에서는 SELECT, INSERT, UPDATE, DELETE에 대하여 실행 취소(되돌리기) 기능이 별도로 존재하지 않는다. 따라서, Transaction* 기능을 사용하여 이전 시점으로 되돌리기 하여야 한다. 아래는 새로운 테이블을 생성하여 조회하는 동작이다.

 

 

 Transaction을 사용하려면 가장 먼저 BEGIN TRANSACTION으로 로직을 실행한다.

 

 

 정상적으로 시작되었다면, 기록할 작업에 대한 로직을 실행한다.

 

 

 예시로 기록된 작업에 대한 내용은 실행된 상태로 아래와 같은 데이터를 반환한다.

 

 

 해당 작업에 대하여 실행 취소(되돌리기)를 하고 싶다면 ROLLBACK을 실행한다.

 

 

 ROLLBACK 되었다면 Transaction에 기록된 작업은 모두 실행 취소된다.

 

 

 ROLLBACK을 하지 않고, 작업 내용을 저장(확정)하려면, COMMIT을 실행한다.

 

 

 작업 결과는 아래와 같이 COMMIT 한 최종 데이터가 조회된다.

 

 

이미 COMMIT 되었거나, 기록되고 있는 Transaction이 없다면 다음과 같은 결과를 반환한다.

 

 

 

 

 * Transaction : 데이터베이스의 상태를 변화시키기 위하여 수행하는 작업의 단위

728x90
반응형