이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다윈 토토 PostgreSQL : 문서 : 17 : PG_R버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

젠 토토

이름

젠 토토- 복원 APostgreSQL아카이브 파일의 데이터베이스 만들기pg_dump

시놉시스

젠 토토[Connection-Option...] [옵션...] [filename]

설명

젠 토토유틸리티입니다 a 복원postgresql데이터베이스 에서 만든 아카이브에서PostgreSQL : 문서 : 9.2 : 젠 토토텍스트가 아닌 형식 중 하나입니다. 명령을 발행합니다 데이터베이스를 상태로 재구성 할 필요가 있습니다. 그것이 구원받은 시간. 아카이브 파일도 허용젠 토토무엇이 무엇인지 선택적으로해야합니다 복원되거나 복원되기 전에 항목을 재정렬하기도합니다. 아카이브 파일은 휴대용으로 설계되었습니다 아키텍처.

젠 토토두 개로 작동 할 수 있습니다 모드. 데이터베이스 이름이 지정된 경우젠 토토해당 데이터베이스에 연결합니다 아카이브 내용을 데이터베이스로 직접 복원합니다. 그렇지 않으면, 재건하는 데 필요한 SQL 명령이 포함 된 스크립트 데이터베이스는 파일 또는 표준 출력에 작성되어 작성됩니다. 이 스크립트 출력은 일반 텍스트 출력 형식과 동일합니다. 의pg_dump. 옵션 중 일부 따라서 출력을 제어하는 ​​것은와 유사합니다.pg_dump옵션.

분명히,젠 토토할 수 없습니다 아카이브 파일에없는 정보를 복원하십시오. 을 위한 인스턴스, 아카이브가를 사용하여 만들어진 경우"덤프 데이터 as삽입명령 "옵션,젠 토토데이터를로드 할 수 없습니다 사용copy진술.

옵션

젠 토토다음 명령 줄 인수.

filename

아카이브 파일의 위치를 ​​지정합니다 (또는 디렉토리 형식 아카이브)를 복원 할 디렉토리. 지정되지 않으면 표준 입력이 사용됩니다.

-a
-데이터 전용

스키마가 아닌 데이터 만 복원합니다 (데이터 정의). 테이블 데이터, 큰 물체 및 시퀀스 아카이브에있는 경우 값이 복원됩니다.

이 옵션은 유사하지만 역사적 이유로 동일하지 않고 지정-섹션 = 데이터.

-c
-Clean

클린 (DROP) 데이터베이스 개체를 재현하기 전에. (이 경우 무해한 오류 메시지가 발생할 수 있습니다 대상 데이터베이스에는 객체가 존재하지 않았습니다.)

-c
-Create

데이터베이스를 복원하기 전에 데이터베이스를 만듭니다. 만약에-Clean지정, 드롭 및 연결하기 전에 대상 데이터베이스를 재현하십시오.

이 옵션이 사용되면 이름이 지정된 데이터베이스-d초기의DROP DATABASE데이터베이스 생성명령. 모든 데이터 표시되는 데이터베이스 이름으로 복원됩니다. 보관소.

-ddbname
-dbname =dbname

데이터베이스에 연결dbname로 직접 복원하십시오 데이터 베이스.

-e
--exit-on-error

SQL을 보내는 동안 오류가 발생하면 종료합니다 데이터베이스 명령. 기본값은 계속하고 끝에 오류 수를 표시합니다. 복구.

-ffilename
-파일 =filename

생성 된 스크립트 또는 와 함께 사용될 때 리스팅-l. 기본 표준 출력입니다.

-f형식
-Format =형식

아카이브의 형식을 지정합니다. 필요하지 않습니다 이후 형식 지정젠 토토형식을 결정합니다 자동으로. 지정된 경우 하나 일 수 있습니다 수행원:

C
Custom

아카이브는의 사용자 정의 형식입니다.pg_dump.

d
디렉토리

아카이브는 디렉토리 아카이브입니다.

t
타르

아카이브는 A입니다.타르아카이브.

-i
-ignore-version

이제 무시되는 더 이상 사용되지 않은 옵션.

-iindex
-index =index

명명 된 인덱스의 정의 복원.

-jJOBS 번호
-jobs =JOBS 번호

가장 시간이 많이 걸리는 부분을 실행젠 토토- 데이터를로드하는 것, 여러를 사용하여 인덱스를 생성하거나 제약 조건을 만듭니다 동시 직업. 이 옵션은 극적으로 감소 할 수 있습니다 대형 데이터베이스를 실행중인 서버로 복원 할 시간 다중 프로세서 머신.

각 작업은 하나의 프로세스 또는 하나의 스레드입니다. 운영 체제 및 별도의 연결을 사용합니다 섬기는 사람.

이 옵션의 최적 값은 서버, 클라이언트 및 회로망. CPU 코어의 수와 디스크 설정. 시작하기에 좋은 곳은 CPU의 수입니다. 서버의 코어이지만 그보다 더 큰 값도 많은 경우에 더 빠른 복원 시간으로 이어집니다. 물론, 너무 높은 값은 성능을 감소시킬 것입니다. 스 래싱 때문에.

사용자 정의 아카이브 형식만이 이와 함께 지원됩니다 옵션. 입력 파일은 일반 파일이어야합니다 ( 예를 들어, 파이프). 이 옵션은 방출 할 때 무시됩니다 데이터베이스에 직접 연결하는 대신 스크립트 섬기는 사람. 또한 여러 작업을 함께 사용할 수 없습니다 옵션--- 단일 전환.

-l
--- list

아카이브의 내용을 나열하십시오. 이것의 출력 작업은에 대한 입력으로 사용할 수 있습니다.-l옵션. 필터링 스위치 인 경우 주목하십시오 와 같은-n또는-t-l, 나열된 항목을 제한합니다.

-lList-File
--use-list =List-File

나열된 아카이브 요소 만 복원List-File를 복원하십시오 순서대로 파일에 나타납니다. IF에 유의하십시오 와 같은 필터링 스위치-n또는-t-l, 그들은 항목을 더 제한합니다 복원.

List-File일반적으로입니다 이전의 출력을 편집하여 생성-l작동. 선을 이동하거나 제거 할 수 있습니다. 세미콜론을 배치하여 댓글을 달 수 있습니다. (;) 라인의 시작시. 보다 아래 예제는 아래에 있습니다.

-n네임 스페이스
--- 스키마 =스키마

명명 된 스키마에있는 객체 만 복원합니다. 이것 와 결합 할 수 있습니다.-t옵션 특정 테이블 만 복원하려면

-o
---- 소유자

개체의 소유권을 설정하기 위해 명령을 출력하지 마십시오. 원래 데이터베이스와 일치합니다. 기본적으로젠 토토문제Alter Owner또는세트 세션 승인소유권을 설정하기위한 진술 스키마 요소를 생성했습니다. 이 진술은 그렇지 않으면 실패 할 것입니다 데이터베이스에 대한 초기 연결은 Superuser (또는 모든 객체를 소유 한 동일한 사용자 대본). 와 함께-o, 모든 사용자 이름 초기 연결에 사용할 수 있으며이 사용자는 생성 된 모든 개체를 소유하고 있습니다.

-pfunction-name (Argtype [, ...])
-기능 =function-name (Argtype [, ...])

명명 된 함수 만 복원하십시오. 철자를 조심하십시오 함수 이름과 인수가 파일의 내용 테이블 덤프.

-r
-no-reconnect

이 옵션은 더 이상 사용되지 않지만 여전히 뒤로 허용됩니다 호환성.

-s
--- 스키마 전용

데이터가 아닌 스키마 (데이터 정의) 만 복원합니다 스키마 항목이 보관소.

이 옵션은의 역수입니다.-데이터 전용. 그것은 비슷하지만 역사적 이유는 동일하지 않고 지정-섹션 = 사전 데이터-섹션 = post-data.

(이것을와 혼동하지 마십시오.--- 스키마단어를 사용하는 옵션"스키마"다른 의미.)

-s사용자 이름
--superuser =사용자 이름

비활성화시 사용할 슈퍼 사용자 사용자 이름을 지정하십시오 트리거. 이것은 단지 관련이 있다면-disable-triggers사용됩니다.

-t테이블
--table =테이블

명명 된 테이블의 정의 및/또는 데이터를 복원합니다. 이것 와 결합 할 수 있습니다.-n옵션 스키마를 지정하려면

-t트리거
--trigger =트리거

이름이 지정된 트리거 만 복원합니다.

-v
-VERBOSE

정점 모드를 지정합니다.

-v
-버전

인쇄젠 토토버전 및 종료.

-x
--불안정
---- 아카클

액세스 권한의 복원 방지 (Grant/Revoke 명령).

-1
-스플리닝 전환

복원을 단일 트랜잭션으로 실행합니다 (즉, 방출 명령을 래핑시작/커밋). 이것 모든 명령이 성공적으로 완료되도록 또는 변경 사항이 적용되지 않습니다. 이 옵션은 암시합니다--exit-on-error.

-disable-triggers

이 옵션은 데이터 전용을 수행 할 때만 관련이 있습니다 복원하다. 지시젠 토토명령을 실행하려면 대상 테이블에서 트리거를 일시적으로 비활성화합니다 데이터가 다시로드됩니다. 참조가있는 경우 이것을 사용하십시오 무결성 점검 또는 다른 테이블의 기타 트리거 데이터를 다시로드하는 동안 호출하고 싶지 않습니다.

현재, 명령은-disable-triggers슈퍼업자로 수행해야합니다. 따라서의 슈퍼 유저 이름도 지정해야합니다.-s또는 바람직하게는 실행젠 토토asPostgreSQLSuperUser.

--나사-파일 테이블

기본적으로 테이블 데이터가 생성 된 경우에도 복원됩니다. 테이블에 대한 명령이 실패했습니다 (예 : 이미이므로 존재). 이 옵션을 사용하면 이러한 테이블의 데이터가 다음과 같습니다 건너 뛰었습니다. 이 동작은 대상 데이터베이스 인 경우 유용합니다 이미 원하는 테이블 내용이 포함되어 있습니다. 예를 들어, 보조 테이블PostgreSQL예를 들어Postgis이미있을 수 있습니다 대상 데이터베이스에로드; 이 옵션을 지정합니다 중복 또는 쓸모없는 데이터가로드되는 것을 방지합니다 그들을.

이 옵션은 직접 복원 할 때만 효과적입니다 SQL 스크립트 출력을 생성 할 때가 아니라 데이터베이스로.

-No-Security-Labels

보안 레이블을 복원하기 위해 명령을 출력하지 마십시오 아카이브에 포함 된 경우

-no-tablespaces

테이블 스페이스를 선택하려면 명령을 출력하지 마십시오. 이것으로 옵션, 모든 객체는 어떤 테이블 스페이스에서 생성됩니다 복원 중 기본값입니다.

-섹션 =SectionName

명명 된 섹션 만 복원하십시오. 섹션 이름은입니다.사전 데이터, 데이터또는Post-Data. 이 옵션은 선택할 수 있도록 두 번 이상 지정할 수 있습니다. 여러 섹션. 기본값은 모든 것을 복원하는 것입니다 섹션.

데이터 섹션에는 실제 테이블 데이터와 큰 관점 정의. 데이터 후 항목은 구성됩니다 인덱스, 트리거, 규칙 및 제약의 정의 검증 된 확인 제약 외에. 사전 데이터 항목 다른 모든 데이터 정의 항목으로 구성됩니다.

-서지 세션 증명

출력 SQL-Standard세션 설정 권한 부여대신 명령Alter Owner개체를 결정하는 명령 소유권. 이로 인해 덤프가 더 많은 표준과 호환됩니다. 그러나 덤프의 물체의 역사에 따라 제대로 회복되지 않을 수 있습니다.

-?
-help

도움말 표시젠 토토명령 줄 인수 및 출구.

젠 토토연결 매개 변수에 대한 명령 줄 인수 :

-hhost
-host =host

기계의 호스트 이름을 지정합니다. 서버가 실행 중입니다. 값이 슬래시로 시작하면입니다 UNIX 도메인 소켓의 디렉토리로 사용됩니다. 그만큼 기본값은에서 가져옵니다.PGHOST환경 변수, 설정된 경우 UNIX 도메인 소켓 연결이 시도됩니다.

-p포트
-포트 =포트

TCP 포트 또는 로컬 UNIX 도메인 소켓 파일 지정 서버가 연결을 듣는 확장. 기본값pgport환경 변수, 세트 인 경우 또는 컴파일 된 기본값

-u사용자 이름
--username =사용자 이름

사용자 이름으로 연결합니다.

-w
-no-password

비밀번호 프롬프트를 발행하지 마십시오. 서버에 필요한 경우 비밀번호 인증 및 비밀번호는 사용할 수 없습니다 a와 같은 기타 수단.pgpass파일, 연결 시도가 실패합니다. 이 옵션이 될 수 있습니다 사용자가없는 배치 작업 및 스크립트에 유용합니다. 비밀번호를 입력하려면

-w
--password

젠 토토to 데이터베이스에 연결하기 전에 암호를 자랑합니다.

이 옵션은 결코 필수적이지 않습니다.젠 토토자동으로 프롬프트가 발생합니다 서버가 암호를 요구하는 경우 비밀번호의 경우 입증. 하지만,젠 토토연결을 낭비합니다 서버가 암호를 원한다는 것을 알아보십시오. ~ 안에 어떤 경우에는 입력 할 가치가 있습니다-wto 추가 연결 시도를 피하십시오.

-role =Rolename

복원을 수행하는 데 사용할 역할 이름을 지정합니다. 이 옵션은젠 토토a를 발행하려면역할 설정 Rolename연결 후 명령 데이터베이스. 인증 된 사용자 일 때 유용합니다 (지정-u) 특권이 부족합니다 필요젠 토토, 그러나 필요한 권리로 역할로 전환 할 수 있습니다. 일부 설치에는 직접 로그인하는 정책이 있습니다 수퍼 유저 및이 옵션을 사용하면 복원 할 수 있습니다. 정책을 위반하지 않고 수행되었습니다.

환경

pghost
pgoptions
pgport
PGUSER

기본 연결 매개 변수

이 유틸리티, 대부분의 다른 유틸리티PostgreSQL유틸리티도 사용합니다 지원되는 환경 변수libpq(참조섹션 31.14).

진단

직접 데이터베이스 연결이를 사용하여 지정된 경우-d옵션,젠 토토내부 실행SQL진술. 당신이 있다면 실행 문제젠 토토, 데이터베이스에서 정보를 선택할 수 있는지 확인하십시오. 예를 들어 사용,PSQL. 또한 모든 기본 연결 에 사용 된 설정 및 환경 변수libpq프론트 엔드 라이브러리가 적용됩니다.

노트

설치에 로컬 추가가있는 경우Template1데이터베이스, 출력을로드하도록주의하십시오 의젠 토토진정으로 비어 있습니다 데이터 베이스; 그렇지 않으면 복제로 인해 오류가 발생할 수 있습니다. 추가 된 객체의 정의. 빈 데이터베이스를 만들기 위해 로컬 추가 없이는에서 복사하십시오.Template0notTemplate1, 예를 들어:

Template Template0을 사용하여 데이터베이스 foo 생성;

의 한계젠 토토아래에 자세히 설명되어 있습니다.

  • 기존 테이블 및 옵션으로 데이터를 복원 할 때-disable-triggers젠 토토명령을 내립니다 데이터를 삽입하기 전에 사용자 테이블에서 트리거를 비활성화하고 그런 다음 데이터가있는 후에 다시 활성화하기 위해 명령을 방출합니다. 삽입. 복원이 중간에 중지되면 시스템이 카탈로그는 잘못된 상태로 남을 수 있습니다.

  • 젠 토토복원 할 수 없습니다 큰 물체가 선택적으로; 예를 들어, a 특정 테이블. 아카이브에 큰 객체가 포함 된 경우 모든 큰 물체가 복원되거나 그 중 어느 것도 복원 될 것입니다. 제외-l, -t또는 기타 옵션.

참조PostgreSQL : 문서 : 9.2 : 젠 토토한계에 대한 자세한 내용pg_dump.

일단 복원되면 실행하는 것이 현명합니다분석각 복원 된 테이블에서 최적화기 유용한 통계가 있습니다. 보다섹션 23.1.3섹션 23.1.6자세한 내용은

예제

우리가라는 데이터베이스를 버렸다고 가정합니다.MyDBCustom-Format 덤프 파일로 :

$ pg_dump -fc mydb db.dump

데이터베이스를 삭제하고 덤프에서 재현하려면 :

$ dropdb mydb
$ 젠 토토 -C -D Postgres db.dump

에 명명 된 데이터베이스-d스위치 클러스터에 존재하는 모든 데이터베이스 일 수 있습니다.젠 토토이를 사용하여데이터베이스 생성명령MyDB. 와 함께-c, 데이터는입니다 항상 덤프에 나타나는 데이터베이스 이름으로 복원되었습니다. 파일.

덤프를 새로운 데이터베이스로 다시로드하려면newdb:

$ createb -t template0 newdb
$ 젠 토토 -D NEWDB DB.DUMP

사용하지 않는 통지-c대신 복원 할 데이터베이스에 직접 연결하십시오. 또한 참고 우리는 새 데이터베이스를 복제했다.Template0아님template1, 처음에 비어 있도록 보장합니다.

데이터베이스 항목을 재정렬하려면 먼저 덤프해야합니다. 아카이브의 목차 :

$ 젠 토토 -L DB.DUMP DB.LIST

목록 파일은 각각 헤더와 한 줄로 구성됩니다. 항목, 예 :

;
; 9 월 14 일 13:55:39 2009에서 제작 된 아카이브
;     dbname : dbdemos
;     TOC 항목 : 81
;     압축 : 9
;     덤프 버전 : 1.10-0
;     형식 : 사용자 정의
;     정수 : 4 바이트
;     오프셋 : 8 바이트
;     데이터베이스 버전에서 덤프 : 8.3.5
;     PG_DUMP 버전으로 덤프 : 8.3.8
;
;
; 선택된 TOC 항목 :
;
3; 2615 2200 스키마 -Public Pasha
1861; 0 댓글 - 스키마 공개 파샤
1862; 0 ACL -Public Pasha
317; 1247 17715 유형 공개 복합 파샤
319; 1247 25899 도메인 퍼블릭 도메인 0 파샤

세미콜론은 의견을 시작하고 시작시 숫자 라인은 각 항목에 할당 된 내부 아카이브 ID를 나타냅니다.

파일의 줄은 주석, 삭제 및 재정렬. 예를 들어:

10; 145433 테이블 map_resolutions postgres
; 2; 145344 테이블 종 Postgres
; 4; 145359 표 nt_header postgres
6; 145402 Table Species_records Postgres
; 8; 145416 표 ss_old postgres

입력으로 사용될 수 있습니다젠 토토그리고 항목 10 만 복원합니다 그리고 6, 순서대로 :

$ 젠 토토 -L DB.LIST DB.DUMP