pg_dump유틸리티입니다 백업PostgreSQL토토 핫. 토토 핫가 있더라도 일관된 백업을 만듭니다 동시에 사용되는 것.pg_dump다른 사용자가 토토 핫에 액세스하는 것을 차단하지 않습니다 (독자 또는 작가).
덤프는 스크립트 또는 아카이브 파일 형식으로 출력 할 수 있습니다. 스크립트 덤프는 필요한 SQL 명령이 포함 된 일반 텍스트 파일입니다 토토 핫를 상태로 재구성하려면 당시에있었습니다. 저장되었습니다. 그러한 대본에서 복원하려면에 공급하십시오.PSQL. 스크립트 파일을 사용하여 다른 사람에서도 토토 핫를 재구성 할 수 있습니다. 기계 및 기타 아키텍처; 약간의 수정이 있습니다 기타 SQL 토토 핫 제품.
대체 아카이브 파일 형식은와 함께 사용해야합니다.PostgreSQL : 문서 : 8.1 : 무지개 토토데이터 베이스. 그들은 허용PG_RESTORE복원 된 것에 대해 선택적이거나, 심지어 복원하기 전에 항목. 아카이브 파일 형식은 다음과 같습니다 아키텍처 전체에서 휴대용으로 설계되었습니다.
아카이브 파일 형식 중 하나 및 결합 된 경우 와 함께PG_RESTORE, pg_dump유연한 아카이브를 제공합니다 전송 메커니즘.pg_dumpcan 전체 토토 핫를 백업하는 데 사용됩니다.PG_RESTORE를 검사하는 데 사용될 수 있습니다 아카이브 및/또는 토토 핫의 어떤 부분이 있는지 선택하십시오. 복원. 가장 유연한 출력 파일 형식은입니다."Custom"형식 (-fc). 그것은 모두를 선택하고 재주문 할 수 있습니다 아카이브 된 품목은 기본적으로 압축됩니다. 그만큼타르형식 (-ft) IS 압축되지 않고 데이터를 재주문 할 수 없습니다. 로딩이지만 그렇지 않으면 매우 유연합니다. 또한, 그럴 수 있습니다 와 같은 표준 유닉스 도구로 조작타르.
가동 중pg_dump, 하나 경고에 대한 출력을 검사해야합니다 (표준으로 인쇄 오류), 특히 아래에 나열된 제한 사항에 비추어.
다음 명령 줄 옵션은 컨텐츠를 제어합니다 출력 형식.
덤프 할 데이터베이스의 이름을 지정합니다. 이 경우 지정되지 않음, 환경 변수pgdatabase사용됩니다. 그것이 설정되지 않은 경우, 연결에 지정된 사용자 이름이 사용됩니다.
스키마가 아닌 데이터 만 덤프하십시오 (데이터 정의).
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 아카이브 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
DROP (DROP) 데이터베이스 개체를 이전에 출력합니다 (명령)를 만들기 위해.
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 아카이브 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
토토 핫를 생성하기 위해 명령으로 출력 시작 자체 및 생성 된 토토 핫에 다시 연결하십시오. (a 이 형식의 스크립트, 어떤 토토 핫가 중요하지 않습니다. 스크립트를 실행하기 전에 연결하십시오.)
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 아카이브 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
덤프 데이터로삽입명령 (대신COPY). 이것은 만들 것입니다 복원은 매우 느립니다. 주로 덤프를 만드는 데 유용합니다 비에로드 될 수 있습니다PostgreSQL토토 핫. 주목하십시오 열이 재 배열 된 경우 복원이 모두 실패 할 수 있습니다 주문하다. 그만큼-d옵션은 더 안전합니다. 심지어 느리지 만. 또한이 옵션은 생성됩니다 유효하지 않은 데이터의 오류가 가능합니다삽입s 데이터를 계속로드하려면 테이블.
덤프 데이터로삽입명령 명시 적 열 이름 (삽입테이블(열, ...) 값 ...). 이것 복원을 매우 느리게 만들 것입니다. 주로 유용합니다 비에로드 할 수있는 덤프 제작PostgreSQL데이터베이스. 또한,이 동안 옵션은 잘못된 데이터에 대한 오류를 생성합니다. 기타 허용삽입데이터를 계속로드하려면 테이블에.
지정된 문자 세트 인코딩에서 덤프를 만듭니다. 기본적으로 덤프는 데이터베이스 인코딩에서 생성됩니다. (같은 결과를 얻는 또 다른 방법은를 설정하는 것입니다.pgclientencoding환경 원하는 덤프 인코딩에 변수.)
지정된 파일로 출력을 전송합니다. 이것이 생략되면 표준 출력이 사용됩니다.
출력 형식을 선택합니다.형식중 하나 일 수 있습니다 수행원:
일반 텍스트 출력SQL스크립트 파일 (기본값)
출력 a타르아카이브 입력에 적합PG_RESTORE. 이 아카이브 사용 형식은 데이터베이스의 재정렬 및/또는 제외를 허용합니다 데이터베이스가 복원 될 때의 개체. 그것은 어떤 데이터를 다시로드 하든지 제한 할 수도 있습니다 시간 복원.
입력에 적합한 사용자 정의 아카이브 출력PG_RESTORE. 이것은 가장 유연한 형식은 재정렬을 허용한다는 점에서 가장 유연한 형식입니다 객체 정의뿐만 아니라 데이터로드. 이것 형식은 또한 기본적으로 압축됩니다.
간에 버전 불일치 무시pg_dump및 토토 핫 서버.
pg_dump처리 할 수 있습니다 이전 릴리스의 데이터베이스PostgreSQL그러나 매우 오래된 버전입니다 더 이상 지원되지 않습니다 (현재 7.0 이전). 이것을 사용하십시오 옵션 버전 확인을 무시 해야하는 경우 (및 ifpg_dump그런 다음 실패하지 마십시오 경고하지 않았다고 말하면).
|스키마만. 이 옵션이 아닌 경우 대상 데이터베이스의 모든 비 시스템 스키마를 지정했습니다 버려 질 것입니다.
참고 :이 모드에서PG_DUMP덤프를 시도하지 않습니다 선택한 다른 데이터베이스 개체 스키마는 그러므로 아무도 없습니다 단일 스키마 덤프의 결과가 가능하다는 것을 보장합니다 스스로 스스로 성공적으로 회복됩니다 데이터 베이스.
덤프 개체 식별자 (OIDs) 모든 데이터의 일부로 테이블. 응용 프로그램이를 참조하는 경우이 옵션을 사용하십시오.OID어떤 식 으로든 열 (예 : 외국의 주요 제약 조건에서). 그렇지 않으면이 옵션 사용해서는 안됩니다.
개체의 소유권을 설정하기 위해 명령을 출력하지 마십시오. 원래 토토 핫와 일치합니다. 기본적으로pg_dump문제Alter Owner또는세트 세션 승인소유권을 설정하기위한 진술 생성 된 데이터베이스 개체 이 진술은 때 실패 할 것입니다 스크립트는 슈퍼 사용자가 시작하지 않는 한 실행됩니다 (또는 스크립트의 모든 객체를 소유 한 동일한 사용자). 모든 사용자가 복원 할 수있는 스크립트를 만들려면 모든 객체의 사용자 소유권을 지정하고-o.
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 아카이브 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
이 옵션은 더 이상 사용되지 않지만 여전히 뒤로 허용됩니다 호환성.
데이터가 아닌 객체 정의 (스키마) 만 덤프합니다.
비활성화시 사용할 슈퍼 사용자 사용자 이름을 지정하십시오 트리거. 이것은 단지 관련이 있다면-disable-triggers사용됩니다. (보통, 그것은입니다 이것을 꺼내고 대신 결과를 시작하는 것이 좋습니다. 슈퍼 서서로서의 스크립트.)
덤프 데이터테이블만. 여러 테이블이있을 수 있습니다. 다른 스키마에서 동일한 이름; 그런 경우라면 모든 일치하는 테이블이 버려집니다. 둘 다 지정--- 스키마및-타이블하나의 테이블 만 선택하려면
참고 :이 모드에서pg_dump덤프를 시도하지 않습니다 선택한 테이블이 할 수있는 다른 데이터베이스 개체 의존합니다. 따라서 보장은 없습니다 단일 테이블 덤프의 결과는 성공적으로 이루어질 수 있습니다 깨끗한 데이터베이스로 스스로 복원.
정점 모드를 지정합니다. 이로 인해pg_dump상세한 객체를 출력합니다 덤프 파일에 대한 주석 및 시작/중지 시간 표준 오류로의 메시지 진행.
액세스 권한의 덤핑 방지 (Grant/Revoke 명령).
이 옵션은 달러 견적 사용을 비활성화합니다 기능 본체, SQL을 사용하여 인용하도록 강요 표준 문자열 구문.
이 옵션은 데이터 전용을 만들 때만 관련이 있습니다 덤프. 지시pg_dump일시적으로 트리거를 비활성화하는 명령을 포함합니다 데이터가 다시로드되는 동안 대상 테이블. 당신이 이것을 사용하십시오 참조 무결성 검사 또는 기타 트리거가 있습니다 데이터 중에 호출하고 싶지 않은 테이블 Reload.
현재, 명령은-disable-triggers슈퍼 유저로 수행해야합니다. 따라서의 슈퍼 유저 이름도 지정해야합니다.-s또는 바람직하게는 조심하십시오 결과 스크립트를 슈퍼업자로 시작하십시오.
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 아카이브 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
출력 SQL-Standard세션 설정 권한 부여대신 명령Alter Owner개체를 결정하도록 명령합니다 소유권. 이로 인해 덤프가 더 많은 표준을 호환 할 수 있습니다. 그러나 덤프의 물체의 역사에 따라 제대로 복원 할 수 없습니다. 또한, 사용세션 설정 설정확실히 슈퍼업자 권한이 올바르게 복원하려면Alter Owner더 적은 사람이 필요합니다 특권.
사용할 압축 레벨을 지정하십시오. 0은 아니오를 의미합니다 압축. 사용자 정의 아카이브 형식의 경우이를 지정합니다 개별 테이블 데이터 세그먼트의 압축 및 기본값은 적당한 수준으로 압축하는 것입니다. 일반 텍스트 출력, 0이 아닌 압축 수준을 설정하면 발생합니다 전체 출력 파일이 마치 마치 마치 압축 될 것입니다. FED를 통해gzip; 그러나 기본값은 압축되지 않습니다. 타르 아카이브 형식 현재 압축을 전혀 지원하지 않습니다.
다음 명령 줄 옵션은 데이터베이스를 제어합니다 연결 매개 변수.
기계의 호스트 이름을 지정합니다. 서버가 실행 중입니다. 값이 슬래시로 시작하면입니다 UNIX 도메인 소켓의 디렉토리로 사용됩니다. 그만큼 기본값은에서 가져옵니다.pghost환경 변수, 설정된 경우 UNIX 도메인 소켓 연결이 시도됩니다.
TCP 포트 또는 로컬 UNIX 도메인 소켓 파일 지정 서버가 연결을 듣는 확장. 기본값pgport환경 변수, 세트 인 경우 또는 컴파일 된 기본값
주어진 사용자로 연결
비밀번호 프롬프트를 강제로합니다. 이것은 일어날 것입니다 서버에 비밀번호가 필요한 경우 자동으로 입증.
토토 핫 클러스터에 로컬 추가가있는 경우template1토토 핫,주의하십시오 의 출력 복원pg_dump진정으로 빈 토토 핫로; 그렇지 않으면 당신은 얻을 수 있습니다 추가 된 객체의 중복 정의로 인한 오류. 만들기 위해 로컬 추가가없는 빈 토토 핫, 복사Template0notTemplate1, 예 :
템플릿 템플릿을 사용하여 토토 핫 foo 생성;
pg_dump몇 개가 있습니다 제한 사항 :
데이터 전용 덤프가 선택되고 옵션-disable-triggers사용됩니다.pg_dump비활성화 할 명령을 제출합니다 데이터를 삽입하기 전에 사용자 테이블을 트리거합니다 데이터가 삽입 된 후 다시 활성화하는 명령. 복원이 중간에 중지되면 시스템이 카탈로그합니다. 잘못된 상태에 남을 수 있습니다.
TAR Archives의 구성원은 8GB 미만의 크기로 제한됩니다. (이것은 TAR 파일 형식의 고유 한 제한입니다.) 따라서 텍스트 인 경우이 형식을 사용할 수 없습니다 한 테이블의 표현은 그 크기를 초과합니다. 총 크기 타르 아카이브 및 기타 출력 형식 중 하나는 운영 체제의 경우를 제외하고는 제한적입니다.
덤프 파일에 의해 생성 된 덤프 파일pg_dump사용 된 통계가 포함되어 있지 않습니다 쿼리 계획 결정을 내리는 옵티마이저이저에 의해. 따라서, 그것은 실행하는 것이 현명하다분석복원 후 우수한 성능을 보장하기 위해 덤프 파일에서.
왜냐하면pg_dump익숙합니다 최신 버전의에 대한 트랜퍼 데이터PostgreSQL, 출력pg_dump최신으로로드 할 수 있습니다PostgreSQL토토 핫. 또한 나이를 읽을 수 있습니다PostgreSQL토토 핫. 그러나 일반적으로 새로운 것을 읽을 수 없습니다PostgreSQL데이터베이스 또는 덤프 출력을 생성합니다 이전 데이터베이스 버전에로드 할 수 있습니다. 이를 위해 덤프 파일의 수동 편집이 필요할 수 있습니다.