이 문서는 지원되지 않는 Postgre토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 25.1. SQL 토토 사이트 추천버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

23.1. 토토덤프

이 덤프 방법의 기본 아이디어는 텍스트 파일을 생성하는 것입니다 서버에 피드백되면 다음과 같은 토토 명령이 사용됩니다. 데이터베이스를 당시와 동일한 상태로 다시 생성합니다. 덤프.포스트그레토토제공 유틸리티 프로그램postgresql : 문서 : 8.2 : 배트맨 토토용 이 목적. 이 명령의 기본 사용법은 다음과 같습니다.

pg_dumpdb이름  아웃파일

보시다시피,pg_dump쓰기 그 결과를 표준 출력으로 출력합니다. 아래에서 이것이 어떻게 이루어지는지 살펴보겠습니다. 유용할 수 있습니다.

pg_dump단골입니다Postgre토토클라이언트 애플리케이션 (특히 영리한 것이지만). 이것은 당신이 할 수 있다는 것을 의미합니다 이 백업 절차는 액세스 권한이 있는 원격 호스트에서 수행됩니다. 데이터베이스. 하지만 기억해두세요pg_dump특수 기능으로는 작동하지 않습니다 권한. 특히 모든 항목에 대한 읽기 액세스 권한이 있어야 합니다. 백업하려는 테이블이 있으므로 실제로는 거의 항상 데이터베이스 슈퍼유저로 실행해야 합니다.

어떤 데이터베이스 서버를 지정하려면pg_dump연락해야 합니다. 명령줄을 사용하세요. 옵션-h호스트그리고-p포트. 기본 호스트는 다음과 같습니다. 로컬 호스트든 무엇이든 상관없습니다PGHOST환경 변수가 지정합니다. 마찬가지로 기본 포트는 다음과 같습니다. 로 표시됨PGPORT환경 변수이거나, 실패할 경우 컴파일된 기본값에 따라 결정됩니다. (편리하게도 서버는 일반적으로 동일한 컴파일된 파일을 갖습니다. 기본값.)

다른 것과 마찬가지로포스트그레토토클라이언트 애플리케이션,pg_dump할 것이다 기본적으로 다음과 같은 데이터베이스 사용자 이름으로 연결합니다. 현재 운영 체제 사용자 이름입니다. 이를 재정의하려면 다음 중 하나를 수행하세요. 지정하다-U옵션을 설정하거나 환경 변수PGUSER. 기억해두세요pg_dump연결이 주제입니다. 일반적인 클라이언트 인증 메커니즘( 설명됨토토 사이트 순위 : 문서 : 8.2 : 토토 사이트 순위 인증).

다음에 의해 생성된 덤프pg_dump있습니다 내부적으로 일관성이 있습니다. 즉, 데이터베이스를 업데이트하는 동안pg_dump실행 중이 아닐 것입니다. 덤프에.pg_dump하지 않습니다 작동하는 동안 데이터베이스에서 다른 작업을 차단합니다. (예외는 다음과 같이 작동해야 하는 작업입니다. 독점 잠금(예:진공 전체.)

중요:데이터베이스 스키마가 OID에 의존하는 경우 (예를 들어 외래 키로) 지시해야 합니다.pg_dumpOID도 덤프합니다. 해야 할 일 이것을 사용하세요.-o명령줄 옵션.

23.1.1. 덤프 복원 중

다음에 의해 생성된 텍스트 파일pg_dump다음에서 읽을 수 있도록 의도되었습니다.p토토프로그램. 장군 덤프를 복원하는 명령 형식은 다음과 같습니다.

p토토DB이름 < 파일

어디에서파일당신은 무엇입니까 다음과 같이 사용됨아웃파일에 대한pg_dump명령. 데이터베이스db이름다음에 의해 생성되지 않습니다. 이 명령이므로 직접 만들어야 합니다.템플릿0실행 전p토토(예: 와createdb -T template0db이름). p토토유사한 옵션을 지원합니다pg_dump지정용 연결할 데이터베이스 서버와 사용할 사용자 이름입니다. 참조p토토자세한 내용은 참조 페이지 정보.

토토 덤프를 복원하기 전에 객체를 소유한 모든 사용자는 또는 덤프된 데이터베이스의 개체에 대한 권한이 부여되었습니다. 이미 존재해야 합니다. 그렇지 않으면 복원이 실패합니다. 원래 소유권으로 객체를 다시 생성하거나 권한. (때로는 이것이 당신이 원하는 것이지만, 일반적으로 그것은 그렇지 않습니다.)

기본적으로는p토토스크립트 토토 오류가 발생한 후에도 계속 실행됩니다. 당신 스크립트 상단에서 다음 명령을 사용하고 싶을 수도 있습니다 그 행동을 바꾸고p토토다음의 경우 종료 상태 3으로 종료합니다. 토토 오류가 발생했습니다:

\설정 ON_ERROR_STOP

어느 쪽이든 부분적으로 복원된 덤프만 갖게 됩니다. 또는 전체 덤프가 다음과 같이 지정되도록 지정할 수 있습니다. 단일 트랜잭션으로 복원되므로 복원은 다음 중 하나입니다. 완전히 완료되었거나 완전히 롤백되었습니다. 이 모드는 다음과 같습니다. 를 전달하여 지정됨-1또는--단일 트랜잭션명령줄 옵션p토토. 사용시 이 모드에서는 아주 작은 오류라도 발생할 수 있다는 점에 유의하세요. 이미 여러 시간 동안 실행된 복원을 롤백합니다. 그러나 수동으로 정리하는 것보다 여전히 더 나을 수 있습니다. 부분적으로 복원된 덤프 후의 복잡한 데이터베이스.

의 능력pg_dump그리고p토토쓰거나 읽다 파이프를 사용하면 데이터베이스를 직접 덤프할 수 있습니다. 서버를 다른 사람에게; 예를 들면:

pg_dump -h호스트1 db이름| p토토 -h호스트2 db이름

중요:다음에 의해 생성된 덤프pg_dump다음에 상대적입니다.템플릿0. 이는 어떤 언어든, 절차 등이 추가됨템플릿1또한 버릴 것입니다pg_dump. 결과적으로 언제 복원, 사용자 정의를 사용하는 경우템플릿1, 빈 항목을 만들어야 합니다. 데이터베이스의 출처템플릿0에서와 같이 위의 예입니다.

백업을 복원한 후 실행하는 것이 좋습니다.무지개 토토 PostgreSQL : 문서 : 8.2 : Analyze각 데이터베이스에 있으므로 쿼리 최적화 프로그램에는 유용한 통계가 있습니다. 이를 수행하는 쉬운 방법 실행하는 것입니다vacuumdb -a -z; 이것은 달리기와 동일진공 분석각 데이터베이스에서 수동으로. 대용량 로드 방법에 대한 자세한 조언은 데이터의 양Postgre토토효율적으로, 참조섹션 13.4.

23.1.2. 사용pg_dumpall

pg_dump단 하나의 덤프만 덤프합니다. 데이터베이스에 대한 정보를 덤프하지 않습니다. 역할 또는 테이블스페이스(클러스터 전체에 적용되기 때문) 데이터베이스별보다). 전체의 편리한 투기를 지원하기 위해 데이터베이스 클러스터의 콘텐츠,pg_dumpall프로그램이 제공됩니다.pg_dumpall각각 백업 특정 클러스터의 데이터베이스를 유지하고 클러스터 전체에도 보존합니다. 역할 및 테이블스페이스 정의와 같은 데이터. 기본 사용법 이 명령의 내용은 다음과 같습니다.

pg_dumpall 아웃파일

결과 덤프는 다음을 사용하여 복원할 수 있습니다.p토토:

p토토 -f파일포스트그레

(실제로 기존 데이터베이스 이름을 지정할 수 있습니다. 시작하지만 빈 클러스터에 다시 로드하는 경우포스트그레일반적으로 사용해야 합니다.) 다음과 같은 경우 데이터베이스 수퍼유저 액세스 권한이 항상 필요합니다. 복원 중pg_dumpall덤프, 이는 역할과 테이블스페이스를 복원하는 데 필요하기 때문입니다. 정보. 테이블스페이스를 사용하는 경우 다음 사항에 주의하세요. 덤프의 테이블스페이스 경로가 새 테이블스페이스에 적합합니다. 설치.

23.1.3. 대규모 데이터베이스 처리

이후Postgre토토허용합니다 시스템의 최대 파일 크기보다 큰 테이블은 그러한 테이블을 파일로 덤프하는 것은 문제가 될 수 있습니다. 결과 파일은 최대 크기보다 클 가능성이 높습니다. 귀하의 시스템에서 허용됩니다. 이후pg_dump표준 출력에 쓸 수 있습니다. 이 문제를 해결하려면 표준 Unix 도구를 사용할 수 있습니다. 문제.

압축 덤프를 사용하십시오.당신이 좋아하는 것을 사용할 수 있습니다 예를 들어 압축 프로그램gzip.

pg_dumpdb이름| 압축파일 이름.gz

다음으로 새로고침

생성된 DBdb이름gunzip -c파일 이름.gz | p토토db이름

또는

고양이파일 이름.gz | 총집합 | p토토db이름

사용분할.분할명령을 사용하면 출력을 분할할 수 있습니다. 크기가 기본에 허용되는 조각으로 파일 시스템. 예를 들어 1MB의 청크를 만들려면 다음을 수행하세요.

pg_dumpdb이름| 분할 -b 1m -파일 이름

다음으로 새로고침

생성된 DBdb이름고양이파일 이름* | p토토db이름

사용자 정의 덤프 형식을 사용하십시오.만약Postgre토토다음 시스템을 기반으로 구축되었습니다.zlib압축 라이브러리 설치하면 사용자 정의 덤프 형식이 데이터를 압축합니다. 출력 파일에 씁니다. 그러면 덤프 파일이 생성됩니다. 사용하는 것과 유사한 크기gzip하지만 그건 테이블을 복원할 수 있다는 추가 이점이 있습니다. 선택적으로. 다음 명령은 다음을 사용하여 데이터베이스를 덤프합니다. 사용자 정의 덤프 형식:

pg_dump -Fcdb이름  파일 이름

사용자 정의 형식 덤프는 다음을 위한 스크립트가 아닙니다.p토토, 대신에를 사용하여 복원해야 합니다.pg_restore. 참조pg_dump그리고pg_restore참조 페이지 세부사항.