본문으로 건너뛰기
데이터베이스 기초집LESSON 18

백업·복구·데이터 내보내기 기초

난이도초급 → 중급
예상 시간35분
선수지식이전 강의

18강. 백업·복구·데이터 내보내기 기초

1. 이번 강의에서 해결할 문제​

백업 파일이 존재해도 복구 절차와 소요 시간을 확인하지 않았다면 복구 가능성을 보장할 수 없습니다. 게임 랭킹 DB를 논리 백업하고 별도의 연습 데이터베이스에 복원해 검증합니다.

2. 학습 목표​

3. 핵심 개념​

pg_dump는 한 데이터베이스의 일관된 논리 백업을 만들고 사용자 정의 형식 -Fc는 pg_restore에서 객체 선택과 복원 순서 제어를 지원합니다. pg_dumpall은 클러스터 전역 역할 같은 객체가 필요할 때 별도로 고려합니다. CSV는 교환·분석용이며 제약, 인덱스, 권한을 포함한 전체 백업이 아닙니다.

4. 단계별 예시​

대상: game_ranking_dev를 새 game_ranking_restore_test로 복원

PowerShell · 백업
$stamp = Get-Date -Format 'yyyyMMdd-HHmmss'
New-Item -ItemType Directory -Force .\backups
pg_dump -d game_ranking_dev -Fc -f ".\backups\game-ranking-$stamp.dump"
pg_restore --list ".\backups\game-ranking-$stamp.dump" | Select-Object -First 20
PowerShell · 격리된 복구 검증
createdb game_ranking_restore_test
pg_restore -d game_ranking_restore_test --exit-on-error ".\backups\game-ranking-$stamp.dump"
psql -d game_ranking_restore_test -c "SELECT count(*) FROM ranking.match_results;"
database/sql/18-export-ranking.sql
\copy (SELECT player_id, nickname, rating FROM ranking.players WHERE deleted_at IS NULL ORDER BY rating DESC) TO 'exports/ranking.csv' WITH (FORMAT csv, HEADER true)

5. 동작 원리​

백업은 실행 중 DB에서 트랜잭션적으로 일관된 스냅샷을 읽습니다. 복구를 새 DB에 수행하면 원본을 덮어쓰지 않고 스키마·행 수·핵심 쿼리를 검증할 수 있습니다. 성공 여부, 시간, 파일 크기, checksum과 암호화·보관 위치를 기록해야 운영 절차가 됩니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

백업·복구·데이터 내보내기 기초 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“백업·복구·데이터 내보내기 기초” 작업 전 검토에서 채택해야 할 안전 기준은 무엇인가요?
  2. 문제 2‘CSV를 전체 백업으로 간주’ 실수를 판단할 때 “백업·복구·데이터 내보내기 기초” 강의가 제시한 기준은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

18강. 백업·복구·데이터 내보내기 기초 미완료 상태