귀중한 데이터를 포함하는 모든 것과 마찬가지로PostgreSQL데이터베이스를 젠 토토해야합니다 정기적으로.
기본적으로 다른 후원 접근법이 있습니다 위로PostgreSQL데이터 :
SQL덤프
파일 시스템 수준 젠 토토
온라인 젠 토토
각각 고유 한 강점과 약점이 있습니다.
SQL-Dump 메소드의 아이디어는 텍스트를 생성하는 것입니다. SQL 명령이있는 파일은 서버로 Fed Back에있을 때PostgreSQL유틸리티 프로그램 제공pg_dump이 목적을 위해. 기본 사용
pg_dumpdbnameOutfile
보시다시피pg_dump쓰기 표준 출력에 대한 결과.
pg_dump일반PostgreSQL클라이언트 응용 프로그램 (특히 영리한 것이지만).pg_dumpSpecial과 함께 작동하지 않습니다 권한.
데이터베이스 서버를 지정하려면pg_dump연락처를 사용하여 명령을 사용하십시오 라인 옵션-hhostand-p포트. 기본 호스트는입니다pghost환경 변수 지정. 마찬가지로 기본 포트는입니다pgport환경 컴파일 된 기본값에 의해 변수 또는 실패.
다른 것과 마찬가지로PostgreSQL클라이언트 응용 프로그램,pg_dump기본적으로 데이터베이스 사용자 이름과 연결 현재 운영 체제 사용자 이름과 동일합니다.-u옵션 또는 환경 변수 설정PGUSER. 기억pg_dump연결은 일반 클라이언트 인증의 대상이됩니다 메커니즘 (20 장).
덤프 생성pg_dump는 내부적으로 일관성이 있습니다. 즉, 데이터베이스 업데이트입니다 하는 동안pg_dumpwill이 실행 중입니다 덤프에 있지 않습니다.pg_dump데이터베이스에서 다른 작업을 차단하지 않습니다. 일하고 있는.진공 가득한.)
중요 :데이터베이스 스키마가 의존 할 때 OIDS (예 : 외국 키로) 지시해야합니다pg_dumpOID를 덤프합니다 또한.-o명령 줄 옵션.
텍스트 파일pg_dump그만큼PSQL프로그램. 그만큼
PSQLdbname<infile
여기서infile당신은 당신입니다 사용Outfile용pg_dump명령. 그만큼dbname이 명령에 의해 생성되면에서 직접 만들어야합니다.Template0실행 전PSQL(예 :createb -t template0dbname). PSQL유사한 옵션 지원pg_dump제어 용 데이터베이스 서버 위치 및 사용자 이름.PSQL's 자세한 내용은 참조 페이지
대상 데이터베이스는 이미 이전에 존재해야 할뿐만 아니라 복원을 실행하기 시작했지만 모든 사용자도
일단 젠 토토되면 실행하는 것이 현명합니다분석각 데이터베이스에서 Optimizer에는 유용한 통계가 있습니다.Vacuumdb -a -zto진공 분석모든 데이터베이스; 이것은진공 분석수동으로.
의 능력pg_dumpandPSQL쓰기 또는 읽기 파이프에서 데이터베이스를 직접 덤프 할 수 있습니다.
pg_dump -hhost1 dbnamehost2 dbname
중요 :덤프가 생성 된 덤프pg_dumpTemplate0. 이것은 모든 언어를 의미합니다.template1pg_dump. 결과적으로,template1, 빈을 만들어야합니다 의 데이터베이스Template0위의 예.
다량의 데이터를로드하는 방법에 대한 조언PostgreSQL효율적으로, 참조PostgreSQL : 문서 : 8.1 : 스포츠 토토 사이트를 채우는.
위 메커니즘은 번거롭고 부적절합니다 전체 데이터베이스 클러스터를 젠 토토합니다.pg_dumpall프로그램이 제공됩니다.pg_dumpall각각 젠 토토 주어진 클러스터의 데이터베이스와 클러스터 전체를 보존합니다
pg_dumpallOutfile
결과 덤프를 복원 할 수 있습니다PSQL:
PSQL -FinfilePostgres
(실제로 기존 데이터베이스 이름을 지정할 수 있습니다 시작하지만 빈 클러스터에 다시로드되면Postgres일반적으로 사용해야합니다.) 항상 데이터베이스 슈퍼 사용자가 액세스 할 필요가 있습니다.pg_dumpall덤프, 사용자 및 그룹을 복원하는 데 필요한
이후PostgreSQL허용 시스템의 최대 파일 크기보다 큰 테이블, Itpg_dump표준에 쓸 수 있습니다 출력, 표준 유닉스 도구를 사용하여 작업을 수행 할 수 있습니다.
압축 덤프 사용.좋아하는 것을 사용할 수 있습니다 압축 프로그램, 예를 들어gzip.
pg_dumpdbnamefilename.gz
Reload
createbdbnameGunzip -Cfilename.gzdbname
또는
catfilename.gzdbname
use분할.the분할명령을 사용하면 분할 할 수 있습니다 크기가 허용되는 조각으로의 출력은
pg_dumpdbnamefilename
Reload
createbdbnamecatfilename*dbname
사용자 정의 덤프 형식 사용.ifPostgreSQL시스템에 구축되었습니다 그만큼Zlib압축 라이브러리가 설치되어 있으면 사용자 정의 덤프 형식이 압축됩니다gzip이지만 이점이 추가되었습니다 테이블을 선택적으로 젠 토토 할 수 있습니다.
pg_dump -fcdbnamefilename
사용자 정의 덤프는 스크립트가 아닙니다PSQL이지만 대신 젠 토토해야합니다 와 함께PG_RESTORE. 참조토토 핫 postgresql : 문서 : 8.1 : pg_dumpandPG_RESTORE참조 페이지 세부.