pg_dump
PostgreSQL 데이터베이스를 logical backup으로 내보내는 명령이다. plain SQL, custom archive, directory, tar format을 지원하며 schema-only 또는 data-only dump에도 자주 쓴다.
Summary
- 단일 database 또는 schema/table 단위 logical backup 생성에 사용한다.
- 복원 경로를 생각하면
-F ccustom format이나-F ddirectory format이 유연하다. - plain SQL dump는 사람이 읽기 쉽고 diff가 가능하지만, 복원은 일반적으로
psql로 수행한다.
Usage
pg_dump [OPTION]... [DBNAME] pg_dump -d appdb -f appdb.sql pg_dump -Fc -d appdb -f appdb.dump pg_dump -Fd -j 4 -d appdb -f appdb.dir
pg_dump [<switches>…] [DBNAME]pg_dump -f FILE출력 파일 또는 디렉터리 지정pg_dump -F p|c|d|t출력 형식 지정pg_dump -sschema-only dumppg_dump -adata-only dumppg_dump -n SCHEMA,-t TABLE범위 제한
Options
-f,–file출력 파일 또는 directory 이름-F,–formatpplain,ccustom,ddirectory,ttar-j,–jobs병렬 dump worker 수. directory format에서 자주 사용-Z,–compress압축 레벨 지정-a,–data-only데이터만 dump-s,–schema-onlyschema만 dump-c,–clean복원 전에 object drop SQL 포함-C,–createdatabase 생성 SQL 포함-n,–schema특정 schema만 dump-N,–exclude-schema특정 schema 제외-t,–table특정 table만 dump-T,–exclude-table특정 table 제외-O,–no-ownerownership 복원 정보 생략-x,–no-privilegesGRANT/REVOKE 정보 생략-h,–host,-p,-U접속 정보 지정
Examples
# 사람이 읽을 수 있는 plain SQL dump pg_dump -d appdb -f ./appdb.sql # pg_restore로 다루기 좋은 custom archive pg_dump -Fc -d appdb -f ./appdb.dump # 병렬 dump용 directory format pg_dump -Fd -j 4 -d appdb -f ./appdb.dir # schema만 백업 pg_dump -s -d appdb -f ./appdb-schema.sql # data만 백업 pg_dump -a -d appdb -f ./appdb-data.sql # 특정 schema만 백업 pg_dump -n public -d appdb -f ./public.sql # 특정 table만 백업 pg_dump -t public.users -d appdb -f ./users.sql
Troubleshooting
- long-running transaction과 lock 대기가 심하면
–lock-wait-timeout을 검토한다. - restore 대상을 유연하게 제어하려면 plain SQL보다
-Fc또는-Fd가 보통 낫다. - ownership이나 privilege 차이 때문에 복원 실패가 예상되면 backup 단계에서
-O -x조합을 검토한다. - very large database는 logical dump보다 physical backup 전략이 더 적절할 수 있다.
Compatibility
- logical backup은 major version 간 이식성에 유리하지만, extension과 collation, role 구조 차이는 별도 확인이 필요하다.
pg_dump는 백업 생성 도구다. plain SQL dump에 -c 또는 -C를 넣으면 복원 시 기존 object를 drop하거나 database를 다시 만들 수 있으므로 production 적용 전에 내용을 확인한다.
Help
See Also
History
- codex:: 2026-06-22 Rebuilt pg_dump as a structured backup reference with format selection, examples, and restore guidance.