pg_dump유틸리티는 다음과 같습니다. 백업 중포스트그레SQL젠 토토. 젠 토토가 손상된 경우에도 일관된 백업을 수행합니다. 동시에 사용되고 있습니다.pg_dump젠 토토에 액세스하는 다른 사용자(독자 또는 작가).
덤프는 스크립트 또는 아카이브 파일 형식으로 출력될 수 있습니다. 는 스크립트 파일은 일반 텍스트 형식이며 SQL을 포함합니다. 데이터베이스를 원래 상태로 재구성하는 데 필요한 명령 당시에는 저장되었습니다. 이러한 스크립트를 복원하려면 다음을 사용하세요.psql. 재구성하는 데 사용할 수 있습니다. 다른 시스템 및 다른 아키텍처에서도 젠 토토를 사용할 수 있습니다. 다른 SQL 젠 토토 제품에서도 일부 수정이 이루어졌습니다.
사용할 대체 아카이브 파일 형식 와 함께PostgreSQL : 문서 : 7.4 : 토토재건축하기 위해 젠 토토이며 또한 허용합니다pg_restore무엇이 무엇인지 선별적으로 선택하다 복원하거나 복원되기 전에 항목을 다시 정렬할 수도 있습니다. 아카이브 파일은 또한 여러 곳으로 이동할 수 있도록 설계되었습니다. 아키텍처.
아카이브 파일 형식 중 하나와 함께 사용하고 결합하는 경우 와 함께pg_restore, pg_dump유연한 보관 기능을 제공하며 전송 메커니즘.pg_dump할 수 있다 전체 젠 토토를 백업하는 데 사용되는 경우pg_restore검사하는 데 사용할 수 있습니다. 보관할 데이터베이스 부분을 선택하거나 보관할 수 있습니다. 복원되었습니다. 가장 유연한 출력 파일 형식은 다음과 같습니다."맞춤형"형식 (-Fc). 모든 항목을 선택하고 재정렬할 수 있습니다. 보관된 항목이며 기본적으로 압축됩니다.타르형식 (-피트)은 압축되지 않았으며 다음과 같은 경우 데이터를 재정렬할 수 없습니다. 로딩이 가능하지만 그 외에는 매우 유연합니다. 게다가 그럴 수도 있지 다음과 같은 다른 도구로 조작됨타르.
실행 중pg_dump, 하나 경고가 있는지 출력을 조사해야 합니다(표준에 인쇄됨). 오류), 특히 아래 나열된 제한 사항을 고려할 때.
다음 명령줄 옵션은 다음을 제어하는 데 사용됩니다. 출력 형식.
덤프할 데이터베이스의 이름을 지정합니다. 만약 이 지정되지 않았습니다. 환경 변수입니다.PGDATABASE사용됩니다. 설정되지 않은 경우, 연결에 지정된 사용자 이름이 사용됩니다.
스키마가 아닌 데이터만 덤프합니다(데이터 정의).
이 옵션은 일반 텍스트에만 의미가 있습니다. 형식. 다른 형식의 경우 옵션을 지정할 수 있습니다. 전화할 때pg_restore.
덤프에 대형 개체를 포함합니다.
이전에 데이터베이스 개체를 정리(삭제)하기 위한 출력 명령 (명령을) 생성합니다.
이 옵션은 일반 텍스트에만 의미가 있습니다. 형식. 다른 형식의 경우 옵션을 지정할 수 있습니다. 전화할 때pg_restore.
젠 토토 생성 명령으로 출력 시작 생성된 젠 토토에 다시 연결합니다. (와 함께 이 형식의 스크립트를 사용하면 어떤 젠 토토를 사용하는지는 중요하지 않습니다. 스크립트를 실행하기 전에 연결하세요.)
이 옵션은 일반 텍스트에만 의미가 있습니다. 형식. 다른 형식의 경우 옵션을 지정할 수 있습니다. 전화할 때pg_restore.
다음으로 데이터 덤프삽입명령 (대신에)복사). 이것은 만들 것이다 복구가 매우 느림; 주로 덤프를 만드는 데 유용합니다. 비에 로드할 수 있는PostgreSQL젠 토토. 참고 열을 다시 정렬한 경우 복원이 완전히 실패할 수 있습니다. 주문.-D옵션이 더 안전합니다. 비록 더 느리긴 하지만.
다음으로 데이터 덤프삽입명령 명시적인 열 이름(INSERT INTO테이블 (열, ...) 값 ...). 이 복구 속도가 매우 느려집니다. 주로 유용합니다. 비에 로드할 수 있는 덤프 만들기PostgreSQL젠 토토.
지정된 파일로 출력을 보냅니다. 이것을 생략하면, 표준 출력이 사용됩니다.
출력 형식을 선택합니다.형식다음 중 하나일 수 있습니다. 다음:
일반 텍스트 출력SQL스크립트 파일(기본값)
출력 a타르아카이브 입력에 적합pg_restore. 이 아카이브 사용 형식을 사용하면 스키마 재정렬 및/또는 제외가 가능합니다. 데이터베이스가 복원될 때의 요소입니다. 그것은 또한 다시 로드되는 데이터를 제한할 수도 있습니다. 복원 시간.
입력에 적합한 사용자 정의 아카이브를 출력pg_restore. 이것은 재정렬이 가능하다는 점에서 가장 유연한 형식 데이터 로드 및 스키마 요소. 이 형식 기본적으로 압축되어 있습니다.
버전 불일치 무시pg_dump그리고 젠 토토 서버.
pg_dump처리 가능 이전 릴리스의 데이터베이스포스트그레SQL, 하지만 아주 오래된 버전은 더 이상 지원되지 않습니다(현재 7.0 이전). 이것을 사용하십시오 버전 확인을 재정의해야 하는 경우(및 경우pg_dump실패합니다. 하지 마세요. 경고를 받지 못했다고 말하세요).
다음 내용 덤프스키마전용. 이 옵션이 없으면 지정, 대상 데이터베이스의 모든 비시스템 스키마 폐기됩니다.
참고:이 모드에서는,pg_dump덤핑을 시도하지 않습니다. 선택한 데이터베이스 개체에 해당하는 다른 데이터베이스 개체 스키마는 다음에 따라 달라질 수 있습니다. 따라서 단일 스키마 덤프의 결과가 스스로 성공적으로 깨끗한 상태로 복원됩니다. 젠 토토.
객체 식별자 덤프(OID20061_20142OID어떤 방식으로든 열(예: 외래 키 제약 조건). 그렇지 않으면 이 옵션은 사용할 수 있습니다.
객체의 소유권을 설정하는 명령을 출력하지 마십시오. 원본 젠 토토와 일치합니다. 기본적으로,pg_dump문제SET 세션 승인소유권을 설정하는 명령문 스키마 요소를 생성했습니다. 이 문은 다음과 같은 경우 실패합니다. 슈퍼유저(또는 스크립트의 모든 개체를 소유한 동일한 사용자). 모든 사용자가 복원할 수 있지만 복원할 수 있는 스크립트를 만들려면 해당 사용자에게 모든 객체의 소유권을 부여하고 지정하십시오.-O.
이 옵션은 일반 텍스트에만 의미가 있습니다. 형식. 다른 형식의 경우 옵션을 지정할 수 있습니다. 전화할 때pg_restore.
이 옵션은 더 이상 사용되지 않지만 이전 버전에서는 여전히 허용됩니다. 호환성.
스키마(데이터 정의)만 덤프하고 데이터는 덤프하지 마십시오.
비활성화할 때 사용할 수퍼유저 사용자 이름을 지정하십시오 트리거. 이는 다음과 같은 경우에만 관련됩니다.--비활성화-트리거이 사용됩니다. (보통 그렇죠. 이것을 생략하고 대신 결과를 시작하는 것이 좋습니다 슈퍼유저로 스크립트를 작성하세요.)
다음에 대한 데이터 덤프테이블전용. 테이블이 여러개 있을 수도 있고 다른 스키마의 동일한 이름; 그렇다면, 일치하는 모든 테이블이 덤프됩니다. 둘 다 지정--스키마그리고--테이블테이블 하나만 선택합니다.
참고:이 모드에서는,pg_dump덤핑을 시도하지 않습니다. 선택한 테이블이 가질 수 있는 다른 데이터베이스 개체 의지하다. 그러므로, 다음과 같은 보장은 없습니다. 단일 테이블 덤프의 결과는 성공적일 수 있습니다. 깨끗한 데이터베이스로 스스로 복원되었습니다.
상세 모드를 지정합니다. 이로 인해 발생합니다pg_dump진행 메시지를 인쇄하려면 표준 오류입니다.
접근권한 덤프 방지(부여/취소) 명령).
이 옵션은 더 이상 사용되지 않지만 이전 버전에서는 여전히 허용됩니다. 호환성.pg_dump지금 항상 이전에 선택한 방식으로 동작합니다. 옵션.
이 옵션은 데이터 전용 생성 시에만 관련됩니다. 덤프. 지시한다pg_dump다음에 트리거를 일시적으로 비활성화하는 명령을 포함합니다. 데이터가 다시 로드되는 동안 대상 테이블을 지정합니다. 다음과 같은 경우에 이것을 사용하세요. 참조 무결성 검사 또는 기타 트리거가 있습니다. 데이터 중에 호출하고 싶지 않은 테이블 새로고침하세요.
현재 다음에 대해 내보낸 명령은--비활성화-트리거수퍼유저로 수행해야 합니다. 따라서 다음을 사용하여 수퍼유저 이름도 지정해야 합니다.-S또는 다음 사항에 주의하는 것이 좋습니다. 슈퍼유저로 결과 스크립트를 시작합니다.
이 옵션은 일반 텍스트에만 의미가 있습니다. 형식. 다른 형식의 경우 옵션을 지정할 수 있습니다. 전화할 때pg_restore.
사용할 압축 수준을 지정하십시오. 0은 아니오를 의미합니다. 압축. 사용자 정의 아카이브 형식의 경우 이는 다음을 지정합니다. 개별 테이블-데이터 세그먼트의 압축 및 기본값은 중간 수준으로 압축하는 것입니다. 일반 텍스트의 경우 출력에서 0이 아닌 압축 수준을 설정하면 전체 출력 파일이 압축된 것처럼 압축됩니다. 통해 공급gzip; 하지만 기본값은 압축하지 않는 것입니다. tar 아카이브 형식 현재 압축을 전혀 지원하지 않습니다.
다음 명령줄 옵션은 데이터베이스를 제어합니다 연결 매개변수입니다.
다음이 실행되는 시스템의 호스트 이름을 지정합니다. 서버가 실행 중입니다. 값이 슬래시로 시작하는 경우 Unix 도메인 소켓의 디렉토리로 사용됩니다. 는 기본값은에서 가져옵니다.PGHOST환경 변수(설정된 경우), 그렇지 않으면 Unix 도메인 소켓 연결이 시도되었습니다.
TCP 포트 또는 로컬 Unix 도메인 소켓 파일을 지정합니다. 서버가 연결을 수신하는 확장명입니다. 기본값은PG포트환경 변수(설정된 경우) 또는 컴파일된 기본값입니다.
지정된 사용자로 연결
비밀번호 프롬프트를 강제합니다. 이런 일이 일어나야 해 서버에 비밀번호가 필요한 경우 자동으로 인증.
젠 토토 클러스터에 로컬 추가사항이 있는 경우템플릿1젠 토토, 조심하세요 출력을 복원합니다.pg_dump완전히 비어있는 데이터베이스로; 그렇지 않으면 당신은 얻을 가능성이 높습니다 추가된 개체의 중복 정의로 인해 발생하는 오류입니다. 만들다 로컬 추가가 없는 빈 데이터베이스, 다음에서 복사템플릿0아님템플릿1, 예:
템플릿 template0으로 foo 젠 토토 생성;
pg_dump몇 가지 있음 제한사항:
단일 테이블을 덤프하거나 일반 텍스트로 덤프할 때,pg_dump큰 개체를 처리하지 않습니다. 대형 객체는 다음을 사용하여 전체 데이터베이스와 함께 덤프되어야 합니다. 텍스트가 아닌 아카이브 형식 중 하나입니다.
데이터 전용 덤프를 선택하고 옵션을 선택한 경우--비활성화-트리거사용됩니다,pg_dump비활성화하는 명령을 내보냅니다. 데이터를 삽입하기 전에 사용자 테이블에서 트리거하고 데이터가 삽입된 후 다시 활성화하는 명령입니다. 복원이 중간에 중지되면 시스템 카탈로그가 잘못된 상태로 남아 있을 수 있습니다.
tar 아카이브의 구성원은 8GB 미만의 크기로 제한됩니다. (이것은 tar 파일 형식의 고유한 제한 사항입니다.) 따라서 텍스트 형식인 경우에는 이 형식을 사용할 수 없습니다. 테이블 표현이 해당 크기를 초과합니다. 전체 크기 tar 아카이브 및 기타 출력 형식은 제한되지 않습니다. 운영 체제에 의한 경우는 제외됩니다.
복원되면 실행하는 것이 현명합니다.분석복원된 각 테이블에 대해 최적화 프로그램은 유용한 통계가 있습니다.