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 |
---|
댓글