Post List

레이블이 PostgreSQL인 게시물을 표시합니다. 모든 게시물 표시
레이블이 PostgreSQL인 게시물을 표시합니다. 모든 게시물 표시

2025년 6월 14일 토요일

PostgreSQL 트랜잭션

Contents




BEGIN;
UPDATE accounts SET balance = balance - 100.00
WHERE name = ’Alice’;
-- etc etc
COMMIT;



BEGIN ~ COMMIT/ROLLBACK을 쓰면 된다.
아래는 SAVEPOINT라는 키워드가 나온다..

BEGIN;
UPDATE accounts SET balance = balance - 100.00
WHERE name = ’Alice’;
SAVEPOINT my_savepoint;
UPDATE accounts SET balance = balance + 100.00
WHERE name = ’Bob’;
-- oops ... forget that and use Wally’s account
ROLLBACK TO my_savepoint;
UPDATE accounts SET balance = balance + 100.00
WHERE name = ’Wally’;
COMMIT;

위의 트랜잭션 처리과정을 설명하면 다음과 같다.

1. 트랜잭션 시작

2. UPDATE

UPDATE accounts SET balance = balance - 100.00
WHERE name = ’Alice’;

3. SAVEPOINT my_savepoint : 트랜잭션의 시작 시점에서 지금까지 저장
4. UPDATE

UPDATE accounts SET balance = balance + 100.00
WHERE name = ’Bob’;

5. 실수 발생

6. ROLLBACK TO my_savepoint : 저장된 SAVEPOINT로 복귀

7. UPDATE

UPDATE accounts SET balance = balance + 100.00
WHERE name = ’Wally’;

8. 트랜잭션 완료

PostgreSQL

Contents

1 대충 해보기
2 ????
3 Shared Nothing
4 참고사항
5 도구들
6 Cheat-Sheet






개발
구축
[https]pbBouncer
[https]pg_kafka
[https]PL/Proxy
[https]pgHA

4 참고사항 #