가치 있는 데이터를 담고 있는 모든 것으로서포스트그레스데이터베이스를 백업해야 합니다 정기적으로. 절차는 본질적으로 간단하지만, 기본적인 내용을 이해하는 것이 중요합니다 기술 및 가정.
백업에는 근본적으로 다른 두 가지 접근 방식이 있습니다.포스트그레스데이터:
스포츠 토토 베트맨덤프
파일 시스템 수준 백업
이 방법의 기본 아이디어는 다음을 사용하여 텍스트 파일을 생성하는 것입니다. 서버에 피드백되면 다시 생성되는 스포츠 토토 베트맨 명령 데이터베이스는 당시와 동일한 상태로 유지됩니다. 덤프.포스트그레제공 유틸리티 프로그램pg_dump용 이 목적. 이 명령의 기본 사용법은 다음과 같습니다.
pg_dumpdb이름 아웃파일보시다시피,pg_dump쓰기 그 결과를 표준 출력으로 출력합니다. 이것이 어떻게 가능한지 아래에서 살펴보겠습니다. 유용할 겁니다.
pg_dump단골입니다포스트그레스클라이언트 애플리케이션 (특히 영리한 것이지만). 이것은 당신이 할 수 있다는 것을 의미합니다 액세스 권한이 있는 모든 원격 호스트에서 이 백업 절차를 수행합니다. 데이터베이스. 하지만 기억해두세요pg_dump특수 기능으로는 작동하지 않습니다 권한. 특히 모든 항목에 대한 읽기 액세스 권한이 있어야 합니다. 백업하려는 테이블이 있으므로 실제로는 거의 항상 데이터베이스 슈퍼유저여야 합니다.
어떤 데이터베이스 서버를 지정하려면pg_dump연락해야 합니다. 명령을 사용하세요 라인 옵션-h호스트그리고-p포트. 기본 호스트는 다음과 같습니다. 로컬 호스트든 무엇이든 상관없습니다PGHOST환경 변수가 지정합니다. 마찬가지로 기본 포트는 다음과 같습니다. 로 표시됨PGPORT환경 변수이거나, 실패할 경우 컴파일된 기본값에 따라 결정됩니다. (편리하게도 서버에는 일반적으로 동일한 컴파일된 기본값입니다.)
다른 것과 마찬가지로포스트그레스클라이언트 애플리케이션,pg_dump기본적으로 데이터베이스 사용자 이름으로 연결됩니다. 현재 Unix 사용자 이름과 같습니다. 이를 재정의하려면 다음 중 하나를 수행하세요. 지정하다-u프롬프트를 강제하는 옵션 사용자 이름에 대해 또는 환경 변수를 설정하십시오.PGUSER. 기억해두세요pg_dump연결에는 다음이 적용됩니다. 일반 클라이언트 인증 메커니즘(설명됨)토토 커뮤니티 : 문서 : 7.1 : 클라이언트 인증).
다음에 의해 생성된 덤프pg_dump내부적으로 일관성이 있습니다. 즉, 데이터베이스 업데이트입니다. 동안pg_dump실행 중입니다. 쓰레기장에 있지 마세요.pg_dump데이터베이스가 작동하는 동안에는 데이터베이스의 다른 작업을 차단하지 않습니다. 일하고 있습니다. (예외적으로 작동해야 하는 작업은 다음과 같은 배타적 잠금을 사용합니다.진공.)
중요:귀하의 데이터베이스 스키마가 다음에 의존하는 경우 OID(예: 외래 키)를 지시해야 합니다.pg_dumpOID 덤프 뿐만 아니라. 이렇게 하려면 다음을 사용하세요.-o명령줄 옵션.
다음에 의해 생성된 텍스트 파일pg_dump다음 사용자가 읽을 수 있도록 의도되었습니다.p스포츠 토토 베트맨프로그램. 는 덤프를 복원하는 일반적인 명령 형식은 다음과 같습니다.
p스포츠 토토 베트맨db이름 < 파일어디에서파일당신이 사용한 것입니다 와 같이아웃파일pg_dump 명령용. 데이터베이스db이름않을 것입니다 이 명령으로 생성된 경우 template0에서 직접 생성해야 합니다. 실행하기 전에p스포츠 토토 베트맨(예: 와createdb -T template0db이름). p스포츠 토토 베트맨유사한 옵션을 지원합니다pg_dump데이터베이스 제어용 서버 위치 및 사용자 이름. 해당 참조 페이지를 참조하세요 자세한 내용은.
원래 데이터베이스의 개체가 다음 소유자의 소유인 경우 사용자가 다른 경우 덤프가 지시합니다p스포츠 토토 베트맨영향을 받은 각 사용자로 연결합니다. 회전한 다음 관련 개체를 만듭니다. 이 방법은 원래 소유권은 유지됩니다. 그러나 이것은 또한 다음을 의미합니다. 이러한 사용자는 모두 이미 존재해야 하며 더 나아가 각각의 연결이 허용되어야 합니다. 어쩌면 그러므로 클라이언트를 일시적으로 이완시키는 것이 필요합니다. 인증 설정입니다.
의 능력pg_dump그리고p스포츠 토토 베트맨쓰거나 읽다 파이프를 사용하면 데이터베이스 디렉토리를 덤프할 수도 있습니다. 예를 들어 한 서버에서 다른 서버로
중요:pg_dump에 의해 생성된 덤프는 다음과 같습니다. template0을 기준으로 합니다. 이는 어떤 언어든, template1에 추가된 프로시저 등도 덤프됩니다. 으로pg_dump. 그 결과, 복원 시 사용자 정의 템플릿을 사용하는 경우1, 다음과 같이 template0에서 빈 데이터베이스를 생성해야 합니다. 위의 예입니다.
위의 메커니즘은 다음과 같은 경우에는 번거롭고 부적절합니다. 전체 데이터베이스 클러스터 백업. 이러한 이유로pg_dumpall프로그램은 제공됩니다.pg_dumpall뒤로 특정 클러스터의 각 데이터베이스를 가동하고 다음 사항도 확인합니다. 사용자, 그룹 등 글로벌 데이터의 상태는 보존. 에 대한 호출 순서pg_dumpall단순히
pg_dumpall 아웃파일결과 덤프는 다음을 사용하여 복원할 수 있습니다.p스포츠 토토 베트맨위에 설명된 대로입니다. 하지만 이 경우에는 데이터베이스 슈퍼유저 액세스 권한이 반드시 필요합니다. 이는 사용자 및 그룹 정보를 복원하는 데 필요합니다.
pg_dumpall작은 것이 하나 있습니다 결함: 대화형으로 인증할 준비가 되어 있지 않습니다. 덤프하는 각 데이터베이스. 비밀번호를 사용하는 경우 인증을 수행하려면 환경을 설정해야 합니다. 변수PGPASSWORD통신하기 위해 기본 호출에 대한 비밀번호를 지정합니다.pg_dump. 더 심하게 말하면, 각 데이터베이스에 대해 서로 다른 비밀번호를 설정한 다음pg_dumpall실패할 것입니다. 당신 다른 인증 메커니즘을 선택할 수 있습니다. 백업 목적 또는 조정pg_dumpall셸 스크립트를 필요에 맞게 조정하세요.
승인:원래 Hannu 작성 크로싱 (<hannu@trust.ee) 켜짐 1999-06-19
이후포스트그레스허용합니다 시스템의 최대 파일 크기보다 큰 테이블 테이블을 파일로 덤프하는 것은 문제가 될 수 있습니다. 결과 파일은 최대 크기보다 클 가능성이 높습니다. 귀하의 시스템에서 허용됩니다. 다음과 같이pg_dump표준 출력에 씁니다. 이 문제를 해결하려면 표준 *nix 도구를 사용하면 됩니다. 가능한 문제.
압축 덤프를 사용하세요.좋아하는 것을 사용하세요 예를 들어 압축 프로그램gzip.
pg_dumpdb이름| 압축파일 이름.gz다음으로 새로고침
생성된 DBDB이름gunzip -c파일 이름.gz | p스포츠 토토 베트맨DB이름또는
고양이파일 이름.gz | 총집합 | p스포츠 토토 베트맨db이름
사용분할.이것은 출력을 여러 조각으로 분할할 수 있습니다. 기본 파일 시스템에 허용되는 크기입니다. 에 대한 예를 들어 1MB의 청크를 만들려면:
다음으로 새로고침사용자 정의 덤프 형식(V7.1)을 사용하십시오.Postgre스포츠 토토 베트맨의 경우 zlib 압축 라이브러리가 있는 시스템에 구축되었습니다. 설치하면 사용자 정의 덤프 형식이 데이터를 압축합니다. 출력 파일에 씁니다. 대규모 데이터베이스의 경우 이 gzip을 사용하는 것과 비슷한 덤프 크기를 생성하지만 테이블을 복원할 수 있다는 추가 이점 선택적으로. 다음 명령은 다음을 사용하여 데이터베이스를 덤프합니다. 사용자 정의 덤프 형식:
참조pg_dump그리고pg_restore참조 페이지 자세한 내용은.pg_dump(그리고 작성자: 의미pg_dumpall)가 어려움으로 인해 발생하는 몇 가지 제한 사항 시스템 카탈로그에서 특정 정보를 재구성합니다.
구체적으로, 그 순서는pg_dump객체가 별로 좋지 않다고 씁니다. 정교하다. 예를 들어 다음과 같은 경우 문제가 발생할 수 있습니다. 함수는 열 기본값으로 사용됩니다. 유일한 대답 덤프를 수동으로 다시 정렬하는 것입니다. 원형을 생성했다면 스키마에 종속성이 있으면 더 많은 작업을 수행해야 합니다. 하세요.
하위 호환성의 이유로,pg_dump대형 개체를 덤프하지 않습니다. 기본값. 대형 객체를 덤프하려면 사용자 정의 중 하나를 사용해야 합니다. 또는 TAR 출력 형식을 사용하고 -B 옵션을 사용하십시오.pg_dump. 참조를 참조하십시오 자세한 내용은 페이지를 참조하세요. 디렉토리contrib/pg_dumplo의포스트그레스소스 트리에는 다음도 포함되어 있습니다. 큰 개체를 덤프할 수 있는 프로그램입니다.
다음 내용을 숙지하시기 바랍니다.pg_dump참조 페이지.