[PostgreSQL] Internal: WAL์˜ ๊ตฌ์กฐ

https://blog.naver.com/sssang97/223233122052
PostgreSQL์€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ WAL ๊ตฌ์กฐ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์Œ“๊ณ , ๊ทธ๊ฑธ ํ›„์ฒ˜๋ฆฌํ•ด์„œ ์ตœ์ ํ™” ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๊ฐ€๊ณตํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ์ทจํ•œ๋‹ค.
์Šคํ† ๋ฆฌ์ง€ ํšจ์œจ์„ฑ์ด๋‚˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์„ฌ์„ธํ•œ ํŠœ๋‹์„ ํ•ด์•ผ ํ•œ๋‹ค๋ฉด, WAL์˜ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๊ฝค ์ค‘์š”ํ•˜๋‹ค.




WAL์˜ ์ €์žฅ ๊ตฌ์กฐ

Linux ํ™˜๊ฒฝ์ด๋ผ๋ฉด, ๋ณดํ†ต wal์€ ์•„๋ž˜ ๊ฒฝ๋กœ์— ์žˆ๋‹ค.

sudo ls -lah /var/lib/postgres/data/pg_wal

WAL์€ ์œ„์ฒ˜๋Ÿผ ์ž‘์€ ๋กœ๊ทธ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๊ฐ๊ฐ์˜ ํŒŒ์ผ์„ ์„ธ๊ทธ๋จผํŠธ๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.
๊ฐ๊ฐ์˜ ์„ธ๊ทธ๋จผํŠธ ํŒŒ์ผ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 16MB ์ •๋„๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์‹œ๋„ํ•œ ๋ชจ๋“  ์“ฐ๊ธฐ ๋‚ด์—ญ์€ ์ „๋ถ€ ์—ฌ๊ธฐ์— ์ผ๋‹จ ๊ธฐ๋ก๋˜๊ณ  ๋ณธ๋‹ค.
commit์ด ๋˜์ง€ ์•Š๋”๋ผ๋„, rollback๋œ write๋„ ์ „๋ถ€ WAL์— ์Œ“์ธ๋‹ค. ๊ทธ๋ž˜์„œ ๋กค๋ฐฑํ•œ๋‹ค๊ณ  ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ถ€ํ•˜๊ฐ€ ๊ฐ€์ง€ ์•Š๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์ผ๊ด€์„ฑ์„ ์œ„ํ•œ ๊ฒƒ์ผ ๋ฟ์ด๋‹ค.

๋‹จ์ผ ์„ธ๊ทธ๋จผํŠธ ํŒŒ์ผ์˜ ์ตœ๋Œ€๋Š” 16MB ์ •๋„๊ณ , ์ดˆ๊ณผํ•˜๋ฉด ๊ณ„์†ํ•ด์„œ ์ƒˆ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ์‹์œผ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด WAL์€ ์˜์—ญ ๊ตฌ๋ถ„์ด ์—†๋‹ค.
์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์Šคํ‚ค๋งˆ, ํ…Œ์ด๋ธ”์— write๋ฅผ ๋‚ ๋ฆฌ๋“ , ์ด ๋‹จ์ผ ๊ฒฝ๋กœ์— WAL ํŒŒ์ผ์ด ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์ด๋‹ค. ํ…Œ์ด๋ธ” ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์€ ํ›„์ฒ˜๋ฆฌ ๊ฐœ๋…์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.




WAL์™€ ๋ ˆ์ฝ”๋“œ ํฌ๋งท

WAL์€ ๋‹น์—ฐํžˆ ๋‹จ์ˆœํ•œ ํ…์ŠคํŠธํŒŒ์ผ์ด ์•„๋‹ˆ๋‹ค. ์ ๋‹นํ•œ ํ˜•ํƒœ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ €์žฅ๋˜์–ด์žˆ๋‹ค.
์ด๊ฑธ ๊นŒ๋ณด๋ ค๋ฉด pg_waldump ๋„๊ตฌ๋ฅผ ์จ์„œ ๋ณด๋ฉด ๋œ๋‹ค.
ํŒŒ์ผ์„ ํ•˜๋‚˜ ๊ณจ๋ผ์„œ ๊นŒ๋ณด์ž.

sudo pg_waldump /var/lib/postgres/data/pg_wal/walํŒŒ์ผ

๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ์–ด์ง€๋Ÿฝ๊ฒŒ ์Œ“์ธ๋‹ค.
์ด ํ–‰ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ๋ณ„๋„์˜ ์“ฐ๊ธฐ ๋ฐ์ดํ„ฐ์ธ ๊ฒƒ์ด๋‹ค.




WAL๊ณผ CHECKPOINT

์ฒดํฌํฌ์ธํŠธ๋Š” WAL์„ ์–ด๋””๊นŒ์ง€ ๋ฉ”์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ–ˆ๋Š”์ง€๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ผ์ข…์˜ ์ปค์„œ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด WAL ๊ธฐ๋ก ์ค‘์— ์ •์ „ ๋“ฑ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„, ์•ˆ์ •์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€๋Šฅ์ผ€ ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด ์ด๋Ÿฐ ์‹์ด๋‹ค.

  1. 00001-00010 ์ด 10๊ฐœ์˜ WAL ๋ฐ์ดํ„ฐ ์‚ฝ์ž…

  2. 00001-00005๊นŒ์ง€์˜ WAL์„ ์ฒ˜๋ฆฌํ•ด์„œ ๋ฉ”์ธ ํ…Œ์ด๋ธ”์— ๋ฐ˜์˜.

  3. CHECKPOINT์— 00005๊นŒ์ง€ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๊ณ  ๊ธฐ๋ก

  4. 00006-00010 WAL ์ฒ˜๋ฆฌ์ค‘ ์žฅ์•  ๋ฐœ์ƒ

  5. ์žฌ์‹œ์ž‘

  6. CHECKPOINT๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์žฌ์‹œ์ž‘ - 00006-00010 WAL ์ฒ˜๋ฆฌ...



์ด๋Ÿฌํ•œ ๊ตฌ์กฐ ๋•๋ถ„์— ์–ธ์ œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋“ ์ง€ WAL ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๋ณต๊ตฌํ•˜๊ณ , ๊ฐ€๊ณตํ•ด์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋งŒ์•ฝ ์ฒดํฌํฌ์ธํŠธ ์ง์ „, ์ด๋ฏธ ํ…Œ์ด๋ธ”์— ๋ฐ˜์˜ํ•œ ๊ฒƒ์„ ๋‹ค์‹œ ๋ฐ˜์˜ํ•˜๊ฒŒ ๋˜๋”๋ผ๋„ ๊ดœ์ฐฎ๋‹ค. ์–ด์ฐจํ”ผ ๋ ˆ์ฝ”๋“œ ๋ฒˆํ˜ธ(LSN)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฉฑ๋“ฑ์ ์ธ ์ˆ˜์ •์„ ํ•˜๋Š” ์‹์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋˜ํ•œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ˆ˜์ •์€ ์„ฑ๋Šฅ์„ ์œ„ํ•ด์„œ ๋””์Šคํฌ ์“ฐ๊ธฐ๋ฅผ ๋งค์šฐ ๊ฒŒ์œผ๋ฅด๊ฒŒ ํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋งŒ ์ˆ˜์ •ํ•˜๊ณ  ๋””์Šคํฌ์—๋Š” ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ํ”ํ•˜๋‹ค. ์ฒดํฌํฌ์ธํŠธ๋Š” ์ด๊ฑธ ๋‹ค์‹œ ๋ฐ”๋กœ์žก๋Š” ๋ณด์™„์  ๊ฐœ๋…์œผ๋กœ์„œ๋„ ๊ธฐ๋Šฅํ•œ๋‹ค. ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ๋Œ๋ฉด ๋””์Šคํฌ-๋ฉ”๋ชจ๋ฆฌ ๋ถˆ์ผ์น˜๋ฅผ ๊ฐ•์ œ๋กœ ๊ต์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

ํ˜„์žฌ ์ปค์„œ (LSN)์€ ๋‹ค์Œ ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ํ™•์ธ ๊ฐ€๋Šฅํ•˜๊ณ 

์ฒดํฌํฌ์ธํŠธ์— ๋Œ€ํ•œ ์ปค์„œ ์ •๋ณด๋Š” pg_control์ด๋ผ๋Š” ๊ธ€๋กœ๋ฒŒ ์„ค์ • ํŒŒ์ผ์— ์กด์žฌํ•œ๋‹ค.

๋‹น์—ฐํžˆ ๊ทธ๋ƒฅ์€ ๋ชป์ฝ๊ณ 

๋„๊ตฌ๋ฅผ ์จ์•ผ ํŒŒ์‹ฑํ•ด์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ฒดํฌํฌ์ธํŠธ๋Š” ์“ฐ๊ธฐ๋‚˜ ์ปค๋ฐ‹๋งˆ๋‹ค ๋Œ๋ฆฌ๊ฑฐ๋‚˜ ํ•˜์ง„ ์•Š๊ณ , postgresql์ด ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋Œ๋ ค์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹์ด๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ๋Œ๋ฆฌ๋Š”๊ฒŒ ํ•˜๋‚˜ ์žˆ๊ณ , ํฌ๊ธฐ ์ œํ•œ์œผ๋กœ ๋Œ๋ฆฌ๋Š”๊ฒŒ ํ•˜๋‚˜ ์žˆ๋‹ค.

๊ธฐ๋ณธ ์˜ต์…˜์€ ์ด๊ฑฐ๋‹ค. 5๋ถ„๋งˆ๋‹ค ์ฒดํฌํฌ์ธํŠธ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ณ , ๋ณต๊ตฌ ์ง€์ ์„ ์žฌ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์“ฐ๊ธฐ ๊ทœ๋ชจ๊ฐ€ ํฌ๋‹ค๋ฉด ์ด ์˜ต์…˜์„ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ๋„ ์„ฑ๋Šฅ์— ์œ ์˜๋ฏธํ•œ ์˜ํ–ฅ์„ ์ค€๋‹ค.
๋„ˆ๋ฌด ์ž์ฃผ ๋Œ์•„๋„ ์ข‹์ง€ ์•Š๊ณ , ๋„ˆ๋ฌด ํ•œ๋ฒˆ์— ๋ชฐ์•„์„œ ์ฒ˜๋ฆฌํ•ด๋„ ์ข‹์ง€ ์•Š๋‹ค.
์‹œ๊ฐ„๋‹น ์Œ“์ด๋Š” ๋ฐ์ดํ„ฐ ํ‰๊ท ์„ ์•Œ์•„๋‚ด์„œ max_wal_size๋ฅผ ์„ค์ •ํ•˜๊ณ , ์•ˆ์ •์ ์ด๊ณ  ์˜ˆ์ƒ ๊ฐ€๋Šฅํ•œ ์‹œ์ ์— checkpoint๊ฐ€ ๋Œ๊ฒŒ๋” ํ•˜๋Š” ๊ฒƒ์ด ์ตœ์„ ์˜ ์ „๋žต์ด๋‹ค.




WAL๊ณผ ํŒŒ์ผ ์ •๋ฆฌ

๋‹น์—ฐํžˆ WAL์€ ๋กœ๊ทธ์ด๋ฏ€๋กœ, ์ถฉ๋ถ„ํžˆ ํ™œ์šฉํ–ˆ๋‹ค๋ฉด ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ •๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. ๋ฌดํ•œํžˆ ์Œ“๋Š”๋‹ค๋ฉด ๋””์Šคํฌ๊ฐ€ ๋‚จ์•„๋‚˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถˆํ•„์š”ํ•œ WAL ํŒŒ์ผ์˜ ์ •๋ฆฌ๋Š” CHECKPOINT ๋‹จ๊ณ„์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.
์ฒดํฌํฌ์ธํŠธ๋ฅผ ์ง€๋‚œ WAL ํŒŒ์ผ๋“ค์„ "์‚ญ์ œ"ํ•˜๊ฑฐ๋‚˜, ์žฌํ™œ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ์žฌํ™œ์šฉ์€ ๊ธฐ์กด์˜ ํŒŒ์ผ์„ ์ด๋ฆ„๋งŒ ๋ฐ”๊ฟ”์„œ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ๋‹ค.

min_wal_size/max_wal_size๋Š” checkpoint ์ดํ›„์—๋„ ๋‚จ๊ฒจ๋‘˜ ์ตœ์†Œ-์ตœ๋Œ€ wal ํฌ๊ธฐ๋‹ค.
์ด๋ ‡๊ฒŒ ๋‚จ๊ธด ํŒŒ์ผ์€ ๋‚˜์ค‘์— write๊ฐ€ ๋ฐœ์ƒํ• ๋•Œ, ์ด๋ฆ„๋งŒ ๋ฐ”๊พธ๊ณ  ๋ฎ์–ด์จ์„œ ์žฌ์‚ฌ์šฉํ•œ๋‹ค.


์•„์นด์ด๋ธŒ์˜ค๋“œ๊ฐ€ off์—ฌ์•ผ ์ž๋™์œผ๋กœ wal ํŒŒ์ผ์„ ์ •๋ฆฌํ•ด์ค€๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ off๋‹ค.

๋˜ WAL ์ •๋ฆฌ๋ฅผ ๋ฐฉํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ๋ฒ”์œผ๋กœ๋Š” replication slot์ด ์žˆ๋‹ค.

CDC ๊ตฌํ˜„์— ์‚ฌ์šฉ๋˜๋Š” ์‹œ์Šคํ…œ์ธ๋ฐ, ๋‹น์—ฐํžˆ ๋กœ๊ทธ๊ฐ€ ์Œ“์—ฌ์žˆ์–ด์•ผ ๊ทธ๊ฑธ ๊ฐ–๋‹ค๊ฐ€ ๋™๊ธฐํ™”์— ์“ธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ทผ๋ฐ ์ด๊ฒŒ ์ œ๋•Œ ์†Œ๋ชจ๋˜์ง€ ์•Š๊ณ  ์Œ“์—ฌ์žˆ์œผ๋ฉด, wal์„ ์ง€์šฐ์ง€ ๋ชปํ•˜๊ณ  ๊ฑธ๋ ค๋ฒ„๋ฆฐ๋‹ค.
https://m.blog.naver.com/sssang97/223926531588




WAL๊ณผ WAL Buffer

write๋ฅผ ํ•œ๋‹ค๊ณ  ํ•ด์„œ wal ์„ธ๊ทธ๋จผํŠธ ํŒŒ์ผ์ด ๋˜ ๋ฐ”๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
wal ์“ฐ๊ธฐ ์ „ ๋‹จ๊ณ„์— WAL Buffer๋ผ๊ณ  ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” 4MB~16MB ์ •๋„๋กœ ์„ค์ •๋˜๋ฉฐ, ํŠธ๋žœ์žญ์…˜ ๋‹จ์œ„๋กœ flush๋œ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐœ๋ณ„ write๋ฅผ ๋‹จ์ผ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์„ฑ๋Šฅ์ ์ธ ์ด๋“์ด ๋ณ„๋กœ ์—†๊ณ , ์—ฌ๋Ÿฌ๊ฐœ์˜ write๋ฅผ ๋‹จ์ผ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ๋ชจ์•„์„œ ์˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์œ ์˜๋ฏธํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์žˆ๋‹ค.

WAL Buffer๋„ ๋ฉ”๋ชจ๋ฆฌ ์ˆ˜์ค€ ์˜์—ญ์ด๋ผ ์žฅ์•  ๋ฐœ์ƒ์‹œ์—๋Š” ์œ ์‹ค๋  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด์ฐจํ”ผ ํŠธ๋žœ์žญ์…˜ ๋‹จ์œ„๋กœ flushํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ๋ถ€์ž‘์šฉ์€ ํฌ์ง€ ์•Š์€ ํŽธ์ด๋‹ค.

ํ•˜์ง€๋งŒ ํŠธ๋ž™์žญ์…˜์— ๊ฑฐ๋Œ€ํ•œ write ๋‹จ์œ„๊ฐ€ ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ํ”ํ•˜๋‹ค๋ฉด, wal_buffer๋ฅผ ์ข€ ํฌ๊ฒŒ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์˜๋ฏธ์žˆ๋Š” ํŠœ๋‹์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋ณดํ†ต ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ์˜ 3-5% ์ •๋„๋ฅผ ๊ถŒ์žฅํ•œ๋‹ค.




WAL๊ณผ ๋””์Šคํฌ ๋ถ„๋ฆฌ

๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด, ์ง„์งœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ €์žฅ๋˜๋Š” ๋””์Šคํฌ์™€ WAL์ด ์ €์žฅ๋˜๋Š” ๋””์Šคํฌ๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌ๋˜๋Š” ๊ฒƒ์ด ๋” ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋‹จ์ผ ๋””์Šคํฌ์—๋Š” I/O ํ•œ๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.




์ฃผ์˜์‚ฌํ•ญ

WAL ์“ฐ๊ธฐ ๋˜ํ•œ ํ•˜๋“œ์›จ์–ด๋‚˜ OS ์ˆ˜์ค€ ์žฅ์• ๋กœ ์ธํ•ด์„œ ์–ธ์ œ๋“  ์‹คํŒจํ•  ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด, ์‹ค์ œ๋กœ OS๊ฐ€ ๋””์Šคํฌ์— flushํ•˜์ง€ ์•Š์•˜์Œ์—๋„ flushํ–ˆ๋‹ค๊ณ  ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์–ด์ฉ” ๋„๋ฆฌ๊ฐ€ ์—†๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์ด๋Ÿฐ ์žฅ์•  ์ƒํ™ฉ์—์„œ ์ •์ „์ด ๋ฐœ์ƒํ•œ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋ฉด ๋ณต๊ตฌ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊นŒ์ง€ ๊ฐˆ ์ˆ˜๋„ ์žˆ๋‹ค.




์ฐธ์กฐ
https://www.postgresql.org/docs/current/wal-internals.html
https://postgresql.kr/docs/10/continuous-archiving.html
https://www.postgresql.org/docs/current/wal-reliability.html
https://edbkorea.com/blog/postgresql-checkpoint-tuning/
https://postgresql.kr/docs/9.5/runtime-config-wal.html