![[PostgreSQL] ํธ๋์ญ์
(Transaction)์ ๊ฐ๋
๋ฐ ์ฌ์ฉ](/images/posts/20/img.png)
[PostgreSQL] ํธ๋์ญ์ (Transaction)์ ๊ฐ๋ ๋ฐ ์ฌ์ฉ
1. ํธ๋์ญ์ (Transaction)์ด๋? ํธ๋์ญ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์คํ๋๋ ์ผ๋ จ์ ์์ ๋ค์ด๋ค. ํธ๋์ญ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌด๊ฒฐ์ฑ ๋ฐ ์์ ๊ฐ ์ถฉ๋๋ฐฉ์ง, ๋ฐ์ดํฐ ๊ฒ์ฆ์ ์ํด ํ์์ ์ธ ์์์ด๋ค. ๋จ์ํ DML ์์ ์ ๋กค๋ฐฑ ์ฉ๋๋ฟ ์๋๋ผ, ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๋ฌด๊ฒฐ์ฑ, ์๋ฌ๋ฐ์ ์, ์ฌ๋ฌ ์ ์ ์ ๋์์์ ๋ฑ์์ ์ฌ์ฉ๋๋ค. 2. ํธ๋์ญ์ ์ ์ฉ ํธ๋์ญ์ ์ ์ฌ์ฉํ๋ ์ปค๋งจ๋ ์์ ์ด๋ค. --COMMIT ํน์ ROLLBACK์ผ๋ก ํธ๋์ญ์ ์ ์ข ๋ฃํ์ง ์์ผ๋ฉด, ํด๋น ์ ๋ฐ์ดํธ ๊ฑด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฉ๋์ง ์๋๋ค. BEGIN; UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; COMMIT; ํธ๋์ญ์ COMMIT ์ ์ ๋ค๋ฅธ ์ ์ ๊ฐ ๋์ผํ row์ balance๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๊ณ ํ๋ค๋ฉด, ๊ทธ์ ํธ๋์ญ์ ์ด commit ํน์ rollback ๋๋ ๊ฒ์ ๋๊ธฐํด์ผํ๋ฉฐ ์ด๋ฅผ lock ์ํ๋ผ๊ณ ํ๋ค. (Lock์ ๊ฐ๋ ๋ฐ ์์ธ๋ ๋ค์ ํฌ์คํธ์ ์์ธํ๊ฒ ์ ๋ฆฌ๋์ด ์๋ค.) ...
![[AWS] AMI(Amazon Machine Image) ๊ฐ๋
๋ฐ ์ ์ฉ](/images/posts/19/img.png)
![[AWS] Elastic IP (ํ๋ ฅ์ IP)์ ๊ฐ๋
๋ฐ ์ ์ฉ](/images/posts/18/img.png)
![[PostgreSQL] Vacuum ๊ฐ๋
๋ฐ ์ ์ ํ ์ฌ์ฉ](/images/posts/17/img.png)
![[Linux] ์ฌ๋ณผ๋ฆญ ๋งํฌ (Symbolic link) ์ค์ ํ๊ธฐ](/images/posts/16/%ec%8a%a4%ed%81%ac%eb%a6%b0%ec%83%b7%202023-10-09%20%ec%98%a4%ec%a0%84%2011.35.53.png)