๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

DB ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ํด๋ผ์šฐ๋“œ๋‚˜ ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…(๋คํ”„)ํ•˜๊ณ ,

์ด๋ฅผ ๋กœ์ปฌ ํ™˜๊ฒฝ์œผ๋กœ ๋ณต์›ํ•ด์•ผ ํ•  ์ผ์ด ์ž์ฃผ ์ƒ๊น๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” pg_dump๋กœ ๋ฐฑ์—…์„ ๋งŒ๋“ค๊ณ , pg_restore๋ฅผ ์ด์šฉํ•ด ๋กœ์ปฌ DB·ํŠน์ • ์Šคํ‚ค๋งˆ์— ๋ณต์›ํ•˜๋Š” ์ „์ฒด ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


1. pg_dump๋กœ DB ๋ฐฑ์—…(dump) ๋งŒ๋“ค๊ธฐ

๋ฐฑ์—…(dump) ์ƒ์„ฑ์€ PostgreSQL์˜ pg_dump๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.
Custom format(-F c)์œผ๋กœ ๋ฐฑ์—…ํ•˜๋ฉด ๋‚˜์ค‘์— pg_restore๋กœ ์Šคํ‚ค๋งˆ ๋‹จ์œ„ ๋ณต์›์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ ๋ช…๋ น

pg_dump -h {host} -U {user} -d {database} -F c -f "๊ฒฝ๋กœ\ํŒŒ์ผ๋ช….dump"

 

์˜ต์…˜ ์„ค๋ช…

์˜ต์…˜ ์„ค๋ช…
-h ์ ‘์†ํ•  ์„œ๋ฒ„ ์ฃผ์†Œ. Render ๋“ฑ ์™ธ๋ถ€ ์„œ๋ฒ„์ผ ๊ฒฝ์šฐ ์™ธ๋ถ€ ํ˜ธ์ŠคํŠธ, ๋กœ์ปฌ์€ localhost
-U PostgreSQL ์‚ฌ์šฉ์ž๋ช…
-d ๋ฐฑ์—…ํ•  DB ์ด๋ฆ„
-F c Custom format (pg_restore๋กœ ๋ณต์› ๊ฐ€๋Šฅ)
-f ์ถœ๋ ฅ ํŒŒ์ผ ๊ฒฝ๋กœ

 


2. localhost ํ™•์ธ (๋กœ์ปฌ PostgreSQL ์„œ๋ฒ„ ๋ชฉ๋ก ํ™•์ธ)

๋กœ์ปฌ DB์— ๋ณต์›ํ•˜๊ธฐ ์ „์—, ๋‚ด PC์—์„œ ์–ด๋–ค DB๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์ด ๋ช…๋ น์€ **CMD(๋ช…๋ น ํ”„๋กฌํ”„ํŠธ)**์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

psql -h localhost -U postgres -l

๋Œ€๋ถ€๋ถ„ ์„ค์น˜ ์งํ›„์—๋Š” ์•„๋ž˜ 3๊ฐœ๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค.

DB ์ด๋ฆ„ ์„ค๋ช…
postgres ๊ธฐ๋ณธ DB (์šฐ๋ฆฌ๊ฐ€ ์ฃผ๋กœ ๋ณต์›ํ•˜๊ฒŒ ๋˜๋Š” DB)
template0 ์‹œ์Šคํ…œ ํ…œํ”Œ๋ฆฟ DB
template1 ์ƒˆ๋กœ์šด DB ์ƒ์„ฑ ์‹œ ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ

์ฆ‰, ๋กœ์ปฌ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  DB๋Š” ๋Œ€๋ถ€๋ถ„ postgres DB์ž…๋‹ˆ๋‹ค.


3. pg_restore๋ฅผ ์ด์šฉํ•œ ๋กœ์ปฌ DB ๋ณต์›

3-1. ํŠน์ • ์Šคํ‚ค๋งˆ(abc)์— ๋ณต์›

์ด๋ฏธ ๋กœ์ปฌ DB(postgres)์— abc์Šคํ‚ค๋งˆ๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด:

pg_restore -h localhost -U postgres -d postgres -n abc "C:\๊ฒฝ๋กœ\ํŒŒ์ผ.dump"

 

์˜ต์…˜ ์„ค๋ช…

์˜ต์…˜ ์„ค๋ช…
-d postgres ๋กœ์ปฌ์˜ postgres DB์— ๋ณต์›
-n split split ์Šคํ‚ค๋งˆ์—๋งŒ ๋ณต์›
"ํŒŒ์ผ.dump" ๋ฐฑ์—…๋ณธ ํŒŒ์ผ ๊ฒฝ๋กœ

 

์ฃผ์˜

dump ์•ˆ์˜ ์›๋ณธ ์Šคํ‚ค๋งˆ๊ฐ€ public์ด๋ฉด abc๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋Ÿด ๋• ์•„๋ž˜ ์˜ต์…˜ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

pg_restore -h localhost -U postgres -d postgres -N public --schema=abc "C:\๊ฒฝ๋กœ\ํŒŒ์ผ.dump"

4. ๋ณต์› ๊ฒฐ๊ณผ ํ™•์ธ

๋ณต์› ํ›„ ์•„๋ž˜ ๋ช…๋ น์œผ๋กœ ํ…Œ์ด๋ธ”์ด ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด์™”๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์Šคํ‚ค๋งˆ์˜ ํ…Œ์ด๋ธ” ๋ชฉ๋ก ๋ณด๊ธฐ

\dt abc.*

 

5. ์ •๋ฆฌ

  • pg_dump → DB ์ „์ฒด๋ฅผ ๋ฐฑ์—…ํ•˜๋Š” ๋„๊ตฌ
  • pg_restore → Custom format dump๋ฅผ ๋ณต์›ํ•˜๋Š” ๋„๊ตฌ
  • ๋กœ์ปฌ ๋ณต์› ์‹œ -h localhost๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ด PC์—๋งŒ ๋ณต์›๋˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค
  • dump ์ƒ์„ฑ ์‹œ ์›๋ณธ ์Šคํ‚ค๋งˆ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ๋ณต์›ํ•  ์Šคํ‚ค๋งˆ ์˜ต์…˜์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค
  • pgAdmin์˜ SQL ์ฐฝ์—์„œ๋Š” pg_restore๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š์Œ → ๋ฐ˜๋“œ์‹œ CMD์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•จ

 

๋ฐ˜์‘ํ˜•