젠 토토유틸리티는 다음과 같습니다. 복원 중PostgreSQL데이터베이스 다음이 만든 아카이브에서PostgreSQL : 문서 : 9.2 : 젠 토토비일반 텍스트 형식 중 하나입니다. 명령을 내릴 것입니다. 데이터베이스를 원래 상태로 재구성하는 데 필요합니다. 저장한 시간입니다. 아카이브 파일도 허용합니다.젠 토토무엇이 무엇인지 선별적으로 선택하다 복원하거나 복원되기 전에 항목을 다시 정렬할 수도 있습니다. 아카이브 파일은 여러 곳으로 이동할 수 있도록 설계되었습니다. 아키텍처.
젠 토토두 개로 작동 가능 모드. 데이터베이스 이름이 지정된 경우,젠 토토해당 데이터베이스에 연결하고 아카이브 내용을 데이터베이스에 직접 복원합니다. 그렇지 않으면, 재구축에 필요한 SQL 명령이 포함된 스크립트 데이터베이스가 생성되어 파일이나 표준 출력에 기록됩니다. 이 스크립트 출력은 일반 텍스트 출력 형식과 동일합니다. 의pg_dump. 일부 옵션 따라서 출력을 제어하는 것은 다음과 유사합니다.pg_dump옵션.
분명히,젠 토토할 수 없습니다 아카이브 파일에 없는 정보를 복원합니다. 을 위한 예를 들어, 아카이브가를 사용하여 만들어진 경우"다음으로 데이터 덤프삽입명령"옵션,젠 토토데이터를 로드할 수 없습니다 사용 중복사문장.
젠 토토수락합니다 다음 명령줄 인수입니다.
아카이브 파일의 위치를 지정합니다(또는 디렉터리(디렉터리 형식 아카이브의 경우)가 복원됩니다. 지정하지 않으면 표준 입력이 사용됩니다.
스키마가 아닌 데이터만 복원합니다(데이터 정의). 테이블 데이터, 대형 개체 및 시퀀스 아카이브에 있는 경우 값이 복원됩니다.
이 옵션은 다음과 유사하지만 역사적 이유로 동일하지 않음, 지정함--section=데이터.
데이터베이스 개체를 다시 생성하기 전에 정리(삭제)하십시오. (이렇게 하면 무해한 오류 메시지가 생성될 수 있습니다. 개체가 대상 데이터베이스에 없습니다.)
데이터베이스를 복원하기 전에 데이터베이스를 생성하십시오. 만약에--깨끗함또한 지정되었으며 삭제 및 연결하기 전에 대상 데이터베이스를 다시 생성하십시오.
이 옵션을 사용하면 다음과 같은 이름의 데이터베이스가 생성됩니다.-d발행에만 사용됩니다. 초기의데이터베이스 삭제그리고데이터베이스 생성명령. 모든 데이터 에 나타나는 데이터베이스 이름으로 복원됩니다. 보관소.
데이터베이스에 연결db이름다음으로 직접 복원합니다. 데이터 베이스.
SQL 전송 중 오류가 발생하면 종료 데이터베이스에 대한 명령입니다. 기본값은 계속하는 것입니다. 마지막에 오류 개수를 표시합니다. 복구.
생성된 스크립트에 대한 출력 파일을 지정하거나 와 함께 사용될 때 나열-l. 기본 표준 출력입니다.
아카이브의 형식을 지정하십시오. 그럴 필요는 없다 형식을 지정하십시오. 이후젠 토토형식을 결정합니다 자동으로. 지정된 경우 다음 중 하나일 수 있습니다. 수행원:
아카이브는 다음의 사용자 정의 형식입니다.pg_dump.
아카이브는 디렉토리 아카이브입니다.
아카이브는타르아카이브.
현재는 무시되는 더 이상 사용되지 않는 옵션입니다.
명명된 색인의 정의만 복원합니다.
가장 시간이 많이 걸리는 부분을 실행젠 토토— 데이터를 로드하는 것, 인덱스 생성 또는 제약 조건 생성 - 여러 사용 동시 작업. 이 옵션을 사용하면 대규모 데이터베이스를 실행 중인 서버로 복원하는 데 걸리는 시간 다중 프로세서 머신.
각 작업은 다음에 따라 하나의 프로세스 또는 하나의 스레드입니다. 운영 체제에 별도의 연결을 사용합니다. 섬기는 사람.
이 옵션의 최적 값은 다음에 따라 다릅니다. 서버, 클라이언트 및 하드웨어 설정 회로망. 요소에는 CPU 코어 수와 디스크 설정. 시작하기 좋은 곳은 CPU 수입니다. 코어는 서버에 있지만 그보다 큰 값도 가능합니다. 많은 경우 복원 시간이 더 빨라집니다. 물론, 값이 너무 높으면 성능이 저하됩니다. 스래싱 때문에.
이것은 사용자 정의 아카이브 형식만 지원됩니다 옵션. 입력 파일은 일반 파일이어야 합니다(예: 예를 들어 파이프). 이 옵션은 데이터베이스에 직접 연결하는 대신 스크립트 섬기는 사람. 또한 여러 작업을 함께 사용할 수 없습니다. 옵션--단일 거래.
아카이브의 내용을 나열합니다. 이것의 출력 작업은에 대한 입력으로 사용될 수 있습니다.-L옵션. 스위치를 필터링하는 경우 와 같은-n또는-t다음과 함께 사용됩니다-l, 나열된 항목이 제한됩니다.
다음에 나열된 아카이브 요소만 복원목록-파일, 복원 파일에 나타나는 순서대로. 만약에 참고하세요 다음과 같은 필터링 스위치-n또는-t다음과 함께 사용됩니다-L, 그들은 항목을 더욱 제한할 것입니다 복원되었습니다.
목록-파일일반적으로 이전의 출력을 편집하여 생성됨-l작업. 라인을 이동하거나 제거할 수 있습니다. 세미콜론을 사용하여 주석 처리할 수도 있습니다. (;)을 줄 시작 부분에 추가합니다. 보다 예를 보려면 아래를 참조하세요.
명명된 스키마에 있는 개체만 복원합니다. 이것 와 결합될 수 있습니다.-t옵션 특정 테이블만 복원합니다.
객체의 소유권을 설정하는 명령을 출력하지 마십시오. 원본 데이터베이스와 일치합니다. 기본적으로,젠 토토문제소유자 변경또는세트 세션 승인소유권을 설정하는 명령문 스키마 요소를 생성했습니다. 이 명령문은 다음과 같은 경우에는 실패합니다. 데이터베이스에 대한 초기 연결은 수퍼유저(또는 모든 객체를 소유한 동일한 사용자) 스크립트). 와 함께-O, 임의의 사용자 이름 초기 연결에 사용될 수 있으며 이 사용자는 생성된 모든 개체를 소유합니다.
이름이 지정된 함수만 복원합니다. 철자를 조심하세요. 함수 이름과 인수는 다음과 같습니다. 덤프 파일의 목차입니다.
이 옵션은 더 이상 사용되지 않지만 이전 버전에서는 여전히 허용됩니다. 호환성.
데이터가 아닌 스키마(데이터 정의)만 복원합니다. 스키마 항목이 존재하는 정도 보관소.
이 옵션은 반대입니다--데이터 전용. 와 비슷하지만 동일하지 않은 역사적 이유, 지정--section=사전 데이터 --section=사후 데이터.
(이것을 다음과 혼동하지 마십시오.--스키마단어를 사용하는 옵션"스키마"다른 곳에서 의미.)
비활성화할 때 사용할 수퍼유저 사용자 이름을 지정하십시오 트리거. 이는 다음과 같은 경우에만 관련됩니다.--비활성화-트리거사용됩니다.
명명된 테이블의 정의 및/또는 데이터만 복원합니다. 이것 와 결합될 수 있습니다.-n옵션 스키마를 지정합니다.
이름이 지정된 트리거만 복원합니다.
상세 모드를 지정합니다.
인쇄젠 토토버전 및 종료.
접근 권한 복원 방지(부여/취소) 명령).
복원을 단일 트랜잭션으로 실행합니다(즉, 내보낸 명령을 다음으로 래핑합니다.시작/커밋). 이것 모든 명령이 성공적으로 완료되었는지 확인하거나 또는 변경 사항이 적용되지 않습니다. 이 옵션은 다음을 의미합니다.--오류 시 종료.
이 옵션은 데이터 전용 작업을 수행할 때만 관련됩니다. 복원하다. 지시한다젠 토토명령을 실행하려면 일시적으로 대상 테이블에서 트리거를 비활성화하는 동안 데이터가 다시 로드됩니다. 참고자료가 있는 경우 이것을 사용하세요 무결성 검사 또는 테이블에 대한 기타 트리거 데이터를 다시 로드하는 동안 호출하고 싶지 않습니다.
현재 다음에 대해 내보낸 명령은--비활성화-트리거수퍼유저로 수행해야 합니다. 따라서 다음을 사용하여 수퍼유저 이름도 지정해야 합니다.-S또는 바람직하게는 실행젠 토토으로PostgreSQL수퍼유저.
기본적으로 테이블 데이터는 생성된 경우에도 복원됩니다. 테이블에 대한 명령이 실패했습니다(예: 이미 존재합니다). 이 옵션을 사용하면 해당 테이블의 데이터는 다음과 같습니다. 건너뛰었습니다. 이 동작은 대상 데이터베이스가 이미 원하는 테이블 내용이 포함되어 있습니다. 예를 들어, 보조 테이블PostgreSQL다음과 같은 확장자PostGIS이미 대상 데이터베이스에 로드되었습니다. 이 옵션 지정 중복되거나 쓸모없는 데이터가 로드되는 것을 방지합니다. 그들을.
이 옵션은 직접 복원하는 경우에만 유효합니다. SQL 스크립트 출력을 생성할 때가 아니라 데이터베이스에 저장됩니다.
보안 레이블을 복원하는 명령을 출력하지 마십시오. 아카이브에 포함된 경우.
테이블스페이스를 선택하는 명령을 출력하지 마십시오. 이것으로 옵션을 선택하면 모든 객체가 테이블스페이스에 생성됩니다. 복원 중 기본값입니다.
이름이 지정된 섹션만 복원하십시오. 섹션 이름은 다음과 같습니다.사전 데이터, 데이터, 또는포스트 데이터. 이 옵션은 두 번 이상 지정하여 선택할 수 있습니다. 여러 섹션. 기본값은 모두 복원하는 것입니다. 섹션.
데이터 섹션에는 실제 테이블 데이터와 대형 객체 정의. 사후 데이터 항목은 다음으로 구성됩니다. 인덱스, 트리거, 규칙 및 제약 조건 정의 검증된 검사 제약 조건 이외의 것. 사전 데이터 항목 다른 모든 데이터 정의 항목으로 구성됩니다.
출력 SQL-표준세션 설정 권한 부여대신 명령소유자 변경객체를 결정하는 명령 소유권. 이는 덤프를 더욱 표준과 호환되게 만듭니다. 하지만 덤프에 있는 객체의 기록에 따라 제대로 복원되지 않을 수 있습니다.
다음에 관한 도움말 표시젠 토토명령줄 인수 및 출구.
젠 토토또한 다음을 수락합니다. 연결 매개변수에 대한 명령줄 인수는 다음과 같습니다.
다음이 실행되는 시스템의 호스트 이름을 지정합니다. 서버가 실행 중입니다. 값이 슬래시로 시작하는 경우 Unix 도메인 소켓의 디렉토리로 사용됩니다. 그만큼 기본값은에서 가져옵니다.PGHOST환경 변수(설정된 경우), 그렇지 않으면 Unix 도메인 소켓 연결이 시도되었습니다.
TCP 포트 또는 로컬 Unix 도메인 소켓 파일을 지정합니다. 서버가 연결을 수신하는 확장명입니다. 기본값은PGPORT환경 변수(설정된 경우) 또는 컴파일된 기본값입니다.
연결할 사용자 이름.
비밀번호 프롬프트를 표시하지 마십시오. 서버에서 요구하는 경우 비밀번호 인증은 비밀번호를 사용할 수 없습니다. a와 같은 다른 수단.pgpass파일을 사용하면 연결 시도가 실패합니다. 이 옵션은 다음과 같습니다. 사용자가 없는 일괄 작업 및 스크립트에 유용합니다. 비밀번호를 입력하세요.
포스젠 토토에 데이터베이스에 연결하기 전에 비밀번호를 묻는 메시지를 표시합니다.
이 옵션은 결코 필수가 아닙니다. 왜냐하면젠 토토자동으로 메시지가 표시됩니다. 서버가 비밀번호를 요구하는 경우 비밀번호 입증. 하지만,젠 토토연결을 낭비하게 됩니다 서버가 비밀번호를 원하는지 알아내려고 시도합니다. ~ 안에 어떤 경우에는 입력할 가치가 있습니다.-W에 추가 연결 시도를 피하십시오.
복원을 수행하는 데 사용할 역할 이름을 지정합니다. 이 옵션으로 인해젠 토토발행하려면역할 설정 역할 이름연결 후 명령 데이터베이스. 인증된 사용자일 때 유용합니다. (다음으로 지정됨-U)에 권한이 없습니다. 필요함젠 토토하지만 필요한 권한이 있는 역할로 전환할 수 있습니다. 일부 설치에는 다음으로 직접 로그인하는 것에 대한 정책이 있습니다. 수퍼유저이며 이 옵션을 사용하면 복원이 가능합니다. 정책을 위반하지 않고 수행되었습니다.
기본 연결 매개변수
이 유틸리티는 대부분의 다른 유틸리티와 마찬가지로PostgreSQL유틸리티도 다음을 사용합니다. 에서 지원하는 환경 변수libpq(참조섹션 31.14).
직접 데이터베이스 연결이 다음을 사용하여 지정된 경우-d옵션,젠 토토내부적으로 실행SQL문장. 만약 당신이 실행 중 문제 발생젠 토토, 데이터베이스에서 정보를 선택할 수 있는지 확인하십시오 예를 들어 다음을 사용하여psql. 또한 모든 기본 연결 에서 사용하는 설정 및 환경 변수libpq프런트엔드 라이브러리가 적용됩니다.
설치에 로컬 추가사항이 있는 경우템플릿1데이터베이스, 출력을 로드할 때 주의하세요 의젠 토토정말 텅 빈 곳으로 데이터 베이스; 그렇지 않으면 중복으로 인해 오류가 발생할 가능성이 높습니다. 추가된 객체의 정의. 빈 데이터베이스를 만들려면 로컬 추가 없이 다음에서 복사하세요.템플릿0아님템플릿1, 예를 들어:
템플릿 template0으로 foo 데이터베이스 생성;
제한사항젠 토토자세한 내용은 아래에 나와 있습니다.
기존 테이블 및 옵션으로 데이터를 복원하는 경우--비활성화-트리거사용됩니다.젠 토토명령을 내보냅니다. 데이터를 삽입하기 전에 사용자 테이블에서 트리거를 비활성화합니다. 그런 다음 데이터가 삭제된 후 다시 활성화하는 명령을 내보냅니다. 삽입됨. 복원이 중간에 중지되면 시스템이 카탈로그가 잘못된 상태로 남아 있을 수 있습니다.
젠 토토복원할 수 없습니다 큰 물체를 선택적으로; 예를 들어, 특정 테이블. 아카이브에 대형 개체가 포함된 경우 모든 대형 개체가 복원되거나, 그 중 아무것도 복원되지 않습니다. 다음을 통해 제외됩니다.-L, -t또는 기타 옵션.
또한 참조PostgreSQL : 문서 : 9.2 : 젠 토토제한 사항에 대한 자세한 내용은 문서pg_dump.
복구되면 실행하는 것이 현명합니다.분석복원된 각 테이블에 대해 최적화 프로그램은 유용한 통계가 있습니다. 보다섹션 23.1.3그리고섹션 23.1.6자세한 정보는.
다음이라는 데이터베이스를 덤프했다고 가정합니다.mydb사용자 정의 형식 덤프 파일로:
$ pg_dump -Fc mydb db.dump
데이터베이스를 삭제하고 덤프에서 다시 생성하려면:
$ dropdb mydb $ 젠 토토 -C -d postgres db.dump
데이터베이스 이름은 다음과 같습니다.-d스위치 클러스터에 존재하는 모든 데이터베이스가 될 수 있습니다.젠 토토발행에만 사용합니다데이터베이스 생성명령어mydb. 와 함께-C, 데이터는 항상 덤프에 나타나는 데이터베이스 이름으로 복원됩니다. 파일.
다음이라는 새 데이터베이스로 덤프를 다시 로드하려면newdb:
$ createdb -T template0 newdb $ 젠 토토 -d newdb db.dump
우리는 사용하지 않습니다.-C, 그리고 대신 복원할 데이터베이스에 직접 연결합니다. 또한 참고 새 데이터베이스를 복제합니다.템플릿0아님템플릿1, 처음에는 비어 있는지 확인하세요.
데이터베이스 항목을 재정렬하려면 먼저 다음 항목을 덤프해야 합니다. 아카이브의 목차:
$ 젠 토토 -l db.dump db.list
목록 파일은 헤더와 각 헤더마다 한 줄로 구성됩니다. 항목(예:
; ; 2009년 9월 14일 월요일 13:55:39에 생성된 아카이브 ; DB 이름: DBDEMOS ; 목차 항목: 81 ; 압축: 9 ; 덤프 버전: 1.10-0 ; 형식: 맞춤 ; 정수: 4바이트 ; 오프셋: 8바이트 ; 데이터베이스 버전: 8.3.5에서 덤프됨 ; pg_dump 버전: 8.3.8에 의해 덤프됨 ; ; ; 선택된 목차 항목: ; 3; 2615 2200 SCHEMA - 공개 파샤 1861; 0 0 댓글 - SCHEMA 공개 파샤 1862; 0 0 ACL - 공개 파샤 317; 1247 17715 유형 공공 복합 파샤 319; 1247 25899 DOMAIN 공개 도메인0 파샤
세미콜론은 주석을 시작하고, 주석 시작 부분의 숫자는 줄은 각 항목에 할당된 내부 아카이브 ID를 나타냅니다.
파일의 행은 주석 처리, 삭제 및 편집될 수 있습니다. 재정렬되었습니다. 예를 들어:
10; 145433 테이블 map_solutions 포스트그레스 ;2; 145344 테이블 종 포스트그레스 ;4; 145359 테이블 nt_header 포스트그레스 6; 145402 테이블 종_기록 포스트그레스 ;8; 145416 표 ss_old postgres
다음에 대한 입력으로 사용될 수 있습니다.젠 토토항목 10만 복원합니다. 6개, 순서대로:
$ 젠 토토 -L db.list db.dump