이 문서는 지원되지 않는 Postgre토토 핫 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.배트맨 토토 : 문서 : 17 : 25 장. 백업 및 복원버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9장. 백업 및 복원

귀중한 데이터를 담고 있는 모든 것으로서,포스트그레토토 핫데이터베이스를 백업해야 합니다 정기적으로. 절차는 본질적으로 간단하지만, 기본적인 내용을 이해하는 것이 중요합니다 기술 및 가정.

백업에는 근본적으로 다른 두 가지 접근 방식이 있습니다.Postgre토토 핫데이터:

  • 토토 핫덤프

  • 파일 시스템 수준 백업

9.1. 토토 핫덤프

토토 핫-dump 방법의 기본 아이디어는 텍스트를 생성하는 것입니다. 서버에 피드백될 때 토토 핫 명령이 포함된 파일 당시와 동일한 상태로 데이터베이스를 다시 생성합니다. 덤프의.Postgre토토 핫유틸리티 프로그램 제공pg_dump이 목적을 위해. 기본 사용법 이 명령의 내용은 다음과 같습니다.

pg_dumpdb이름  아웃파일

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

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

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

다른 것과 마찬가지로포스트그레토토 핫클라이언트 애플리케이션,pg_dump기본적으로 데이터베이스 사용자 이름으로 연결됩니다. 현재 운영 체제 사용자 이름과 동일합니다. 재정의하려면 이는 다음 중 하나를 지정합니다.-유옵션 또는 환경 변수를 설정하세요.PGUSER. 기억해두세요pg_dump연결에는 일반 클라이언트 인증이 적용됩니다 메커니즘(설명됨)제6장).

다음에 의해 생성된 덤프pg_dump내부적으로 일관성이 있습니다. 즉, 데이터베이스 업데이트입니다. 동안pg_dump실행 중입니다. 쓰레기장에 있지 마세요.pg_dump데이터베이스가 작동하는 동안에는 데이터베이스의 다른 작업을 차단하지 않습니다. 일하고 있습니다. (예외적으로 작동해야 하는 작업은 다음과 같은 배타적 잠금을 사용합니다.진공 전체.)

중요:귀하의 데이터베이스 스키마가 다음에 의존하는 경우 OID(예: 외래 키)를 지시해야 합니다.pg_dumpOID 덤프 뿐만 아니라. 이렇게 하려면 다음을 사용하세요.-o명령줄 옵션."대형 개체"또한 기본적으로 덤프되지 않습니다. 참조pg_dump의 명령 큰 개체를 사용하는 경우 참조 페이지.

9.1.1. 덤프 복원 중

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

p토토 핫db이름 < 파일

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

원래 데이터베이스의 개체가 다음 소유자의 소유인 경우 사용자가 다른 경우 덤프가 지시합니다p토토 핫영향을 받은 각 사용자로 연결합니다. 회전한 다음 관련 개체를 만듭니다. 이 방법은 원래 소유권은 유지됩니다. 그러나 이것은 또한 다음을 의미합니다. 이러한 사용자는 모두 이미 존재해야 하며 더 나아가 각각의 연결이 허용되어야 합니다. 어쩌면 그러므로 클라이언트를 일시적으로 이완시키는 것이 필요합니다. 인증 설정입니다.

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

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

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

9.1.2. 사용pg_dumpall

위 메커니즘은 다음과 같은 경우에는 번거롭고 부적절합니다. 전체 데이터베이스 클러스터 백업. 이러한 이유로pg_dumpall프로그램은 제공됩니다.pg_dumpall뒤로 특정 클러스터의 각 데이터베이스를 가동하고 다음 사항도 확인합니다. 사용자, 그룹 등 글로벌 데이터의 상태는 보존. 에 대한 호출 순서pg_dumpall단순히

pg_dumpall 아웃파일

결과 덤프는 다음을 사용하여 복원할 수 있습니다.p토토 핫위에 설명된 대로입니다. 그러나 이것에 이 경우 데이터베이스가 반드시 필요합니다. 사용자를 복원하는 데 필요한 슈퍼유저 액세스 권한 그룹 정보입니다.

9.1.3. 대규모 데이터베이스

승인:원래 Hannu 작성 크로싱 () 켜짐 1999-06-19

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

압축 덤프를 사용하세요.좋아하는 것을 사용하세요 예를 들어 압축 프로그램gzip.

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

다음으로 새로고침

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

또는

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

사용분할.이것은 출력을 여러 조각으로 분할할 수 있습니다. 기본 파일 시스템에 허용되는 크기입니다. 에 대한 예를 들어 1MB의 청크를 만들려면:

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

다음으로 새로고침

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

사용자 정의 덤프 형식을 사용하십시오.만약포스트그레토토 핫다음 시스템을 기반으로 구축되었습니다.zlib압축 라이브러리가 설치되면 사용자 정의 덤프 형식이 압축됩니다. 출력 파일에 데이터를 기록합니다. 대형의 경우 데이터베이스를 사용하면 비슷한 덤프 크기가 생성됩니다.gzip, 하지만 추가적인 이점이 있습니다. 테이블을 선택적으로 복원할 수 있습니다. 다음 명령은 사용자 정의 덤프 형식을 사용하여 데이터베이스를 덤프합니다.

pg_dump -Fcdb이름  파일 이름

참조pg_dump그리고pg_restore참조 페이지 자세한 내용은.

9.1.4. 주의사항

pg_dump(그리고 작성자: 의미pg_dumpall)가 어려움으로 인해 발생하는 몇 가지 제한 사항 시스템 카탈로그에서 특정 정보를 재구성합니다.

구체적으로, 순서는pg_dump객체가 별로 좋지 않다고 씁니다. 정교하다. 예를 들어 다음과 같은 경우 문제가 발생할 수 있습니다. 함수는 열 기본값으로 사용됩니다. 유일한 대답 덤프를 수동으로 다시 정렬하는 것입니다. 원형을 생성했다면 스키마에 종속성이 있으면 더 많은 작업을 수행해야 합니다. 하세요.

하위 호환성의 이유로,pg_dump대형 개체를 덤프하지 않습니다. 기본값. 대형 객체를 덤프하려면 사용자 정의 중 하나를 사용해야 합니다. 또는 TAR 출력 형식을 사용하고-b옵션 포함pg_dump. 다음에 대한 참조 페이지를 참조하세요. 세부 사항. 디렉토리contrib/pg_dumploPostgre토토 핫소스 트리에는 다음도 포함되어 있습니다. 큰 개체를 덤프할 수 있는 프로그램입니다.

다음 내용을 숙지하시기 바랍니다.pg_dump참조 페이지.