PostgreSQL의 데이터 백업 및 복원

# 백업

아래의 명령은 데이터베이스 명이 gis이며 테이블 중 ctprvn, sig, emd, road, li를 디렉토리 형식(–foramt=d)로 하여 gis_db_dump라는 파일로 백업하는 명령입니다.

pg_dump --dbname=gis --host=localhost --port=5432 --table=ctprvn --table=sig --table=emd --table=road --table=li --username=postgres --password --format=d --file=./gis_db_dump

참고로 –table 옵션을 지정하지 않으면 지정된 데이터베이스 전체 테이블을 백업합니다.

# 복구

또한 아래는 위에서 백업한 내용을 gis_20181022 데이터 베이스로 복원시키는 명령입니다.

pg_restore --dbname=gis_20181022 --host=localhost --port=5432 --username=postgres --password --format=d ./gis_db_dump

리눅스에서 실행하기 위해서는 su – postgres 를 실행하여 권한을 얻을 필요가 있습니다. pg_dump 실행 시 –format을 지정하지 않으면 텍스트 형식으로 덤프 파일이 만들어지는데 이 덤프 파일은 pg_restore를 통해 복원하지 않고 psql을 통해 복원합니다. 즉, psql를 실행하여 데이터베이스에 연결하고(\c) 덤프 파일을 실행(\i) 합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다