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 필요)

 

반응형