세이브포인트로 롤백하기

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

Jason Myers

Principal Engineer

세이브포인트 없이

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';

UPDATE cost = 500 WHERE name = 'Macaron';

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

세이브포인트와 표적 롤백 사용

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';

SAVEPOINT oops;
UPDATE cost = 500 WHERE name = 'Macaron';
ROLLBACK TO oops;
PostgreSQL에서의 트랜잭션과 오류 처리

세이브포인트 해제(더 이상 필요 없을 때)

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';
UPDATE cost = 2.33 WHERE name = 'Petit-Beurre';
UPDATE cost = 2.33 WHERE name = 'Rosette';

SAVEPOINT oops;

UPDATE cost = 5.00 WHERE name = 'Macaron';
UPDATE cost = 3.50 WHERE name = 'Panellets';
RELEASE SAVEPOINT oops;
PostgreSQL에서의 트랜잭션과 오류 처리

롤백과 세이브포인트의 두 가지 핵심 사항

  • TO 없이 ROLLBACK 하면 전체 트랜잭션이 롤백됩니다
  • ROLLBACK TO ___에서 ___이(가) 유효한 세이브포인트가 아니면 오류가 발생합니다
PostgreSQL에서의 트랜잭션과 오류 처리

연습해 봅시다!

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

Preparing Video For Download...