-
[PPAS] Backup & RecoveryPostgresql / PPAS/운영 2015. 1. 2. 16:39
# 파일 포멧 Fp
psql -U 디비 < 파일
# 파일포맷 Fc, Ft
pg_restore 유져 디비 아이디
pg_dump [ optiosn..][dbname]
OPTIONS
-a 스키마를 제외한 데이터만 백업
-b Include large objects in the dump. This is the default behavior except when --schema, --table, or --schema-only is specified, so the -b switch is only useful to add large objects to selective dumps.
-c 데이터베이스 삭제 포함
-C 데이터베이스 생성 구문까지 포함(복구하려는 데이터베이스가 없는 서버에 복구할때)
-d 데이터만 백업 / 복구 (insert 쿼리로 덤프)
-D 컬럼명을 붙인 INSERT 명령어로 데이터를 백업. 복구시 속도가 늦음. PostgreSQL이외의 다른 데이터베이스에 복구할 때 유용.
-E encoding 인코딩지정
-f filename 출력 파일명
-F format 파일 포맷(costom, tar, plain text)
(1) -Fp : 디폴트 백업 방식(palin text), 복구는 psql 명령어
백업을 자동으로 압축. 복원시에 필요한 테이블이나 스키마만 따로 분리해서 처리할 수 있음
필요한 경우 plain text 방식으로 변환할 수 있어서 sql문을 수작업으로 편집할 수 있다.
(2) -Fc : 바이너리 형식으로 압축, 복구는 pg_restore
(3) -Ft : tar로 압축된 파일로 백업, 복구는 pg_restore
-i pg_dump와 데이터베이스 서버와의 버젼차이를 무시
-n schema 스키마 지정, 복수의 스키마를 지정할 수 있음.
-N schema 지정한 스키마를 백업하지 않음
-o
-O
-s 데이터 없이 스키마 정보 백업 / 복구 (데이터베이스가 존재하는 곳에 복구)
-S username 트리거 작동을 중지 시킬 수 있는 슈퍼유저 이름을 지정
-t tablename 지정한 테이블만 백업
-T tablename 지정한 테이블 백업 안함
-v 자세한 정보를 보여줌
-x 접근권한(grant/revoke) 명령은 백업하지 않음
-Z 아카이브(archive) 형식에서 사용하는 압축레벨을 지정
# 데이터베이스 접솝 관련 옵션
-h host 서버 호스트 지정
-p port 포트 지정
-U username 사용자명 지정
-W 비밀번호 지정
pg_resotre [ options][dbname]
OPTIONS
-d 접속할 데이터베이스 이름
-f filename 출력 파일 이름
-F format 백업 파일 형태 지정
-i 서버 버전이 틀려도 무시하고 진행함
-l 자료의 요약된 목차를 보여줌
-v 자세한 정보 보여줌
--help 이 도움말을 보여주고 마침
--version 버전 정보를 보여주고 마침
-a 스키마는 빼고 자료만 입력함
-c 복구 전에 데이터베이스를 삭제함
-C 복구 전에 데이터베이스를 만듬. -d 로 지정한 데이터베이스는 최초 CREATE DATABASE 명령시에만 사용되고 모든 데이터는 아카이브(archive)내 기술된 이름의 데이터베이스에 복구됨
-I index 지정한 인덱스만 복구
-L list-file list-file내에서 지정한 요소만을 나타내는 순서대로 복구
-n namespace 지정한 스키마만 복구(데이터 포함), -t 옵션과 조합가능
-O 객체의 소유주 지정 작업 하지 않음
-P function-name(argtype[...]) 지정한 함수만 복구, 함수와 인수의 이름을 정확하게 입력해야함
-s 데이터를 제외한 스키마만 복구
-S username 트리거 작동을 중지 시킬 수 있는 슈퍼유저 이름을 지정
-t tablename 지정한 테이블 만들고 자료 입력함
-T trigger 지정한 트리거만 복구
-x 접근권한(grant/revoke) 명령은 복구하지 않음
-X 데이터를 입력하는 동안 트리거 작동을 막음
-h hostname 접속할 데이터베이스 서버 또는 소켓 디렉토리
-p port 데이터베이스 서버의 포트 번호
-U username 연결할 데이터베이스 사용자
-W 비밀번호 입력 프롬프트 보임(자동으로 처리함)
-e 오류가 생기면 끝냄, 기본은 계속 진행함
'Postgresql / PPAS > 운영' 카테고리의 다른 글
튜플(Tuple) 과 백쿰(VACUUM) (1) 2015.01.28 [Postgresql] 오브젝트 변경 작업 (0) 2015.01.20 Vacuum 실행 구조 (0) 2014.12.05 postgresql 유용한 쿼리 (0) 2014.11.20 - Table Space - (0) 2014.11.20