Admin

PostgreSQL pg_dump

Qhtlr 2020. 9. 1. 10:45

SQL 덤프

pg_dump 데이터베이스이름 > 출력파일

 

복원하기

psql 데이터베이스이름 < 입력파일

덤프 하면서 바로 다른 데이터베이스 서버에 복원할 수도 있다

pg_dump -h 호스트1 데이터베이스이름 | psql -h 호스트2 데이터베이스이름

 

pg_dumpall 명령어

pg_dump 명령어는 지정한 하나의 데이터베이스만 한 번에 백업한다. 

또한 데이터베이스 객체에 속하지 않는 role(데이터베이스 사용자), 테이블스페이스 정보는 백업되지 않는다. 

데이터베이스 클러스터 기준 모든 정보를 백업받으려면, pg_dumpall 프로그램을 이용한다.

pg_dumpall > outfile

psql -f 덤프파일 postgres

 

표준 유닉스 명령들을 이용

pg_dump dbname | gzip > filename.gz
gunzip -c filename.gz | psql dbname

pg_dump dbname | split -b 1m - filename
cat filename* | psql dbname

pg_dump의 병렬적 덤프 기능을 이용

pg_dump -j num -F d -f out.dir dbname