본문 바로가기
IT개발/postgresql

pg_dump

by xground 2023. 5. 17.
반응형

https://www.postgresql.org/docs/10/app-pgdump.html

 

pg_dump

pg_dump pg_dump — extract a PostgreSQL database into a script file or other archive file Synopsis pg_dump [connection-option...] [option...] [dbname] …

www.postgresql.org

postgresql에서 데이터를 백업하는 방법으로 3가지를 제공한다.

  • pg_dump
  • pg_dumpall
  • pg_basebackup

 

이 중에서 가장 기본이 되는 pg_dump에 대해서 정리하고자 한다.

(내용은 postgresql 10 버전을 기반으로 한다.)

pg_dump 

PostgreSQL 데이터베이스를 스크립트 파일이나 다른 아카이브 파일로 추출한다.

 

주요 내용

  • 덤프 중에도 read / write 가 가능하다.
  • 단일 데이터베이스만 덤프한다. 전체를 하기 위해서는 pg_dumpall 사용.
  • 스크립트나 아카이브 형태로 출력한다.
    • 스크립트는 일반적인 텍스트(쿼리) 형태이다. 따라서 타데이터베이스에서도 사용이 가능할 수 있다.
      복원시에는 psql을 사용한다.
    • 데이터베이스 재구축 시 아카이브 백업 및 리스토어(pg_restore) 복구 형태를 사용한다.

사용방법

pg_dump [connection-option...] [option...] [dbname]

 

주요 옵션

커넥션 옵션

-h host, --host=host : 덤프할 postgre 서버 IP

-p port, --port=port : 덤프할 postgre 서버 port

-U username, --username=username : 연결한 사용자 이름

(그외  [-w, --no-password] [-W, --password] [--role=rolename])

일반 옵션

dbname : 덤프할 데이터베이스의 이름을 지정. 지정하지 않으면 환경 변수 PGDATABASE가 사용. 설정되어 있지 않으면, 사용자 이름이 사용됨.

-f file, --file=file : 지정된 파일로 출력한다. 다른 경로에 위치하는 경우 path까지 입력

-F format, --format=format : 출력 형식을 지정한다.
     p : plain, 일반 텍스트 SQL 스크립트 파일을 출력(기본값)

     c : custom, pg_resotre로 복구할 형식에 적합한 아카이브 형태로 출력. 기본적으로 압축됨

     d : directory, pg_resotre로 복구할 형식에 적합한 아카이브 형태로 출력. 덤프되는 각 테이블 및 blob에 대해 하나의

          파일이 있는 디렉터리와 덤프된 개체를 pg_restore가 읽을 수 있는 기계 판독 가능 형식으로 목차 파일이 생성됨.

          별령 덤프 지원

     t : tar, pg_restoretar에 입력하기에 적합한 -format 아카이브를 출력. 디렉터리 형식과 호환. 압축을 지원하지 않음.

-j njobs, --jobs=njobs : 작업을 병렬로 진행

-t pattern, --table=pattern : pattern에 부합하는 테이블만 백업

(그외 [-a, --data-only] [-b, --blobs] [-B, --no-blobs] [-c, --clean] [-C, --create] [-e pattern, --extension=pattern]

          [-E encoding, --encoding=encoding] [])

반응형

'IT개발 > postgresql' 카테고리의 다른 글

pg_basebackup  (0) 2023.05.18

댓글