DB/PostgreSQL
[ PostgreSQL ] pg_dump 백업 시 압축하는 방법
Soso Dev
2025. 5. 19. 09:08
반응형
PostgreSQL에서 pg_dump 백업 시 압축하려면 다음과 같은 방법을 사용할 수 있습니다:
1. pg_dump 자체 압축 형식 사용
1. -Fc: PostgreSQL 전용 Custom Format (압축 포함)
pg_dump -U postgres -d mydb -F c -f mydb.dump
- -F c 또는 --format=custom
- 압축이 적용된 바이너리 형식
- 복원 시에는 pg_restore를 사용해야 함
2. -Fd: Directory 형식 (각 테이블별로 나뉘고 압축 적용 가능)
pg_dump -U postgres -d mydb -F d -f /path/to/dump_dir
- -F d 또는 --format=directory
- pg_restore로 복원하며, 병렬 작업 가능
- 내부적으로 gzip 압축 포함 가능
2. 일반 텍스트 SQL → gzip으로 직접 압축
pg_dump -U postgres -d mydb -F p | gzip > mydb.sql.gz
- -F p 또는 생략 시: 기본은 SQL 텍스트
- gzip을 통해 직접 압축 (복원 시 gunzip 후 psql 사용)
복원 시:
gunzip -c mydb.sql.gz | psql -U postgres -d mydb
3. 압축률 제어 (디렉터리 형식만 해당)
디렉터리 백업은 --compress 옵션으로 압축률 지정 가능 (0~9):
pg_dump -U postgres -d mydb -F d --compress=9 -f /path/to/dump_dir
📌 요약 표
형식 옵션 설명 복원 도구 압축 가능 병렬 지원
-F c | Custom Format | pg_restore | ✅ (내부 압축) | ❌ |
-F d | Directory Format | pg_restore | ✅ (--compress) | ✅ |
-F p | Plain SQL | psql | ❌ (gzip 필요) | ❌ |
반응형