귀중한 데이터를 포함하는 모든 것과 마찬가지로PostgreSQL데이터베이스를 토토해야합니다
기본적으로 다른 후원 접근법이 있습니다PostgreSQL데이터 :
SQL덤프
파일 시스템 수준 백업
온라인 토토
각각 고유 한 강점과 약점이 있습니다.
SQL-Dump 메소드의 아이디어는 텍스트를 생성하는 것입니다.PostgreSQL유틸리티 프로그램 제공pg_dump이 목적을 위해. 기본 사용
pg_dumpdbname Outfile
보시다시피pg_dump쓰기
pg_dump일반PostgreSQL클라이언트 응용 프로그램pg_dumpSpecial과 함께 작동하지 않습니다
어떤 데이터베이스 서버를 지정하려면pg_dump연락처를 사용하여 명령을 사용하십시오-h호스트and-p포트. 기본 호스트는입니다pghost환경 변수를 지정합니다. 마찬가지로 기본 포트는입니다pgport환경
다른 것과 마찬가지로PostgreSQL클라이언트 응용 프로그램,pg_dump기본적으로 데이터베이스 사용자 이름과 연결-u옵션 또는PGUSER.pg_dump연결은 일반 클라이언트 인증의 대상이됩니다제 19 장).
덤프 생성pg_dump는 내부적으로 일관성이 있습니다. 즉, 데이터베이스 업데이트입니다pg_dumpwill이 실행 중입니다pg_dump데이터베이스에서 다른 작업을 차단하지 않습니다.진공.)
중요 :데이터베이스 스키마가 의존 할 때pg_dumpOID를 덤프합니다-o명령 줄 옵션."큰기본적으로 덤프되지 않습니다. 보다postgresql : 문서 : 8.0 : 토토 결과의 참조 페이지 if
텍스트 파일pg_dumpPSQL프로그램. 그만큼
PSQLdbname < infile
여기서infile당신은 당신입니다Outfile용pg_dump명령. 그만큼dbnameTemplate0실행 전PSQL(예 :createb -t template0dbname). PSQL유사한 옵션 지원pg_dump제어 용PSQL's
대상 데이터베이스는 이미 이전에 존재해야 할뿐만 아니라
일단 토토되면 실행하는 것이 현명합니다분석각 데이터베이스에서Vacuumdb -a -zto진공 분석모든 데이터베이스; 이것은진공 분석수동으로.
의 능력pg_dumpandPSQL쓰기 또는 읽기
pg_dump -hhost1 dbname| psql -hhost2 dbname
중요 :덤프가 생성pg_dumpTemplate0. 이것은 모든 언어를 의미합니다.Template1pg_dump. 결과적으로,Template1, 빈을 만들어야합니다Template0
다량의 데이터를로드하는 방법에 대한 조언PostgreSQL효율적으로,섹션 13.4.
위의 메커니즘은 번거롭고 부적절합니다pg_dumpall프로그램이 제공됩니다.pg_dumpall각각 토토
pg_dumpall>Outfile
결과 덤프를 토토 할 수 있습니다PSQL:
PSQL -FinfileTemplate1
(실제로 기존 데이터베이스 이름을 지정할 수 있습니다Template1유일하게 사용할 수 있습니다pg_dumpall필요한 덤프
이후PostgreSQL허용pg_dump표준에 쓸 수 있습니다
압축 덤프 사용.좋아하는 것을 사용할 수 있습니다gzip.
pg_dumpdbname| gzip>filename.gz
Reload
createbdbnameGunzip -Cfilename.gz | PSQLdbname
또는
catfilename.gz | Gunzip |dbname
use분할.the분할명령을 사용하면 분할 할 수 있습니다
pg_dumpdbname| 분할 -B 1M -filename
Reload
createbdbnamecatfilename* | PSQLdbname
사용자 정의 덤프 형식 사용.ifPostgreSQL와 함께 시스템을 구축했습니다Zlib압축gzip이지만 이점이 추가되었습니다
pg_dump -fcdbname filename
사용자 정의 덤프는 스크립트가 아닙니다PSQL대신 토토해야합니다PG_RESTORE. 참조postgresql : 문서 : 8.0 : 토토 결과andPG_RESTORE참조 페이지
후진 호환성의 이유로pg_dump큰 물체를 버리지 않습니다큰 덤프-B옵션pg_dump. 참조pg_dump자세한 내용은 참조 페이지입니다. 그만큼Contrib/PG_DUMPLO의PostgreSQL소스 트리
pg_dump참조 페이지.