에듀테크 프로젝트 대시보드
백업과 복원
논리 백업(pg_dump)은 SQL/아카이브로 뽑아내는 방식, 물리 백업은 데이터 파일 자체를 복사하는 방식입니다.
# 커스텀 포맷(권장) — 압축·병렬·선택 복원 가능
pg_dump -Fc -d school -f school.dump
# 평문 SQL
pg_dump -Fp -d school -f school.sql
# 스키마만 / 데이터만
pg_dump -s -d school -f schema.sql
pg_dump -a -d school -f data.sqlcreatedb school_restore
pg_restore -d school_restore -j 4 school.dump # 병렬 복원
# 평문 SQL 은 psql 로
psql -d school_restore -f school.sql
# 특정 테이블만
pg_restore -d school_restore -t students school.dumppg_dump 는 역할·테이블스페이스를 안 담음 → pg_dumpall --globals-only > globals.sql 를 따로# /etc/cron.d/pg-backup (매일 03:10)
10 3 * * * postgres pg_dump -Fc -d school -f /backup/school-$(date +\%F).dump && find /backup -name 'school-*.dump' -mtime +14 -delete실전 규칙: 복원을 주기적으로 리허설하지 않은 백업은 백업이 아닙니다.