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

22장. 백업 및 복원

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

백업에는 근본적으로 다른 두 가지 접근 방식이 있습니다.포스트그레토토 꽁 머니데이터:

  • 토토 꽁 머니덤프

  • 파일 시스템 수준 백업

22.1. 토토 꽁 머니덤프

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

pg_dumpdb이름  아웃파일

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

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

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

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

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

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

22.1.1. 덤프 복원 중

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

p토토 꽁 머니db이름 < 파일

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

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

복구되면 실행하는 것이 현명합니다.분석각 데이터베이스에서 최적화 프로그램은 유용한 통계. 실행할 수도 있습니다.vacuumdb -a -z분석모든 데이터베이스.

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

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

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

팁:복원 성능은 다음을 통해 향상될 수 있습니다. 구성 매개변수 증가sort_mem(참조섹션 16.4.2.1).

22.1.2. 사용pg_dumpall

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

pg_dumpall 아웃파일

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

p토토 꽁 머니 템플릿1 <파일

(실제로 기존 데이터베이스 이름을 지정하여 시작하지만 빈 클러스터에 다시 로드하는 경우템플릿1유일하게 사용 가능한 선택.) 항상 데이터베이스 수퍼유저가 필요합니다. 복원 시 액세스 apg_dumpall덤프해야 합니다. 사용자 및 그룹 정보를 복원합니다.

22.1.3. 대규모 데이터베이스

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

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

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

다음으로 새로고침

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

또는

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

사용분할.분할명령을 사용하면 분할할 수 있습니다. 크기가 허용 가능한 조각으로 출력됩니다. 기본 파일 시스템. 예를 들어 1개의 덩어리를 만들려면 메가바이트:

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

다음으로 새로고침

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

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

pg_dump -Fcdb이름  파일 이름

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

22.1.4. 주의사항

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

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

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

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