격리 수준, 세이브포인트, 롤백

PostgreSQL에서의 트랜잭션과 오류 처리

Jason Myers

Instructor

격리 수준

격리 수준 Dirty Read Nonrepeatable Read Phantom Read 직렬화 이상
Read Uncommitted 보호됨 (PostgreSQL) 취약 취약 취약
Read Committed 보호됨 취약 취약 취약
Repeatable Read 보호됨 보호됨 보호됨 (PostgreSQL) 취약
Serializable 보호됨 보호됨 보호됨 보호됨
PostgreSQL에서의 트랜잭션과 오류 처리

Repeatable Read

  • SERIALIZABLE

    • 커밋된 모든 트랜잭션을 직렬 실행처럼 보장합니다.
  • REPEATABLE READ

    • 다음을 볼 수 있습니다
      • 트랜잭션 시작 전 커밋된 데이터
      • 트랜잭션 내 이전 문장의 결과
    • 동시에 실행된 트랜잭션이 커밋한 변경 사항은 보지 않습니다.
PostgreSQL에서의 트랜잭션과 오류 처리

REPEATABLE READ 시각화

REPEATABLE READ 다이어그램

PostgreSQL에서의 트랜잭션과 오류 처리

REPEATABLE READ 시각화

REPEATABLE READ 다이어그램

PostgreSQL에서의 트랜잭션과 오류 처리

REPEATABLE READ 시각화

REPEATABLE READ 다이어그램

PostgreSQL에서의 트랜잭션과 오류 처리

REPEATABLE READ

START TRANSACTION ISOLATION LEVEL REPEATABLE READ;

UPDATE inventory SET quantity = quantity - 4 WHERE name = 'macaron'; SAVEPOINT first;
UPDATE inventory SET quantity = quantity - 12 SAVEPOINT second; COMMIT;
PostgreSQL에서의 트랜잭션과 오류 처리

연습해 봅시다!

PostgreSQL에서의 트랜잭션과 오류 처리

Preparing Video For Download...