우아한 예외 처리

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

Jason Myers

Principal Engineer

우아한 강등: 실제 적용

DO $$
BEGIN
    UPDATE cookies SET quantity = quantity-6 WHERE name = 'Linga';
EXCEPTION 
    WHEN check_violation THEN
        INSERT INTO errors (msg) values ('Quantity can not be less than 0');
        UPDATE cookies SET quantity = 0 WHERE name = 'Linga';
        INSERT INTO errors (msg) values ('Set quantity to the 0 for Linga.');
END$$;
PostgreSQL에서의 트랜잭션과 오류 처리

우아한 강등을 사용할 때

  • 외부 시스템에서 데이터를 불러오며 null을 0으로 대체하려는 경우
  • 특정 임계값까지만 정확한 계측값을 받는 경우
  • 범위를 벗어난 날짜를 수신해 감시값으로 설정하려는 경우
  • 예외를 일으킨 모든 레코드를 다른 테이블에 기록해 후속 처리하는 경우
PostgreSQL에서의 트랜잭션과 오류 처리

우아한 예외 처리 고려 시점

  • 합계, 평균 등 집계 연산 뒤에 새 값이 가려지는 경우
  • 새 값이 시계열 데이터에 영향을 주는 경우
PostgreSQL에서의 트랜잭션과 오류 처리

연습해 봅시다!

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

Preparing Video For Download...