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

무지개 토토

무지개 토토 - 복원postgresql|pg_dump

시놉시스

무지개 토토 [Connection-Option...] [옵션...] [filename]

설명

무지개 토토​​apostgresql|pg_dump텍스트가 아닌 형식 중 하나입니다. 데이터베이스를 저장 당시 상태로 재구성하는 데 필요한 명령을 발행합니다.무지개 토토복원 된 내용에 대해 선택하거나 복원되기 전에 항목을 재정렬하기도합니다. 아카이브 파일은 아키텍처 전체에서 휴대 할 수 있도록 설계되었습니다.

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

분명히,무지개 토토아카이브 파일에없는 정보를 복원 할 수 없습니다. 예를 들어, 아카이브가를 사용하여 만들어진 경우데이터 덤프 데이터삽입명령옵션,무지개 토토사용하여 데이터를로드 할 수 없습니다copy진술.

옵션

무지개 토토다음 명령 줄 인수를 수락합니다.

filename

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

-a
-데이터 전용

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

이 옵션은 유사하지만 역사적 이유는 동일하지 않으며 지정합니다-섹션 = 데이터.

-c
-Clean

Recreate를 재현하기 전에 클린 (DROP) 데이터베이스 개체. (하지 않는 한-if-Exists사용되면 대상 데이터베이스에 객체가없는 경우 해를 끼치는 오류 메시지가 발생할 수 있습니다.)

-c
-Create

데이터베이스를 복원하기 전에 데이터베이스를 만듭니다. 만약에-Clean연결하기 전에 대상 데이터베이스를 지정하고, 삭제하고, 재현합니다.

이 옵션이 사용되면 이름이 지정된 데이터베이스-d초기를 발행하는 데만 사용됩니다DROP DATABASE데이터베이스 생성명령. 모든 데이터는 아카이브에 나타나는 데이터베이스 이름으로 복원됩니다.

-ddbname
-dbname =dbname

데이터베이스에 연결dbname데이터베이스로 직접 복원하십시오. 그만큼dbname|연결 문자열. 그렇다면 연결 문자열 매개 변수는 충돌하는 명령 줄 옵션을 무시합니다.

-e
--exit-on-error

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

-ffilename
-파일 =filename

생성 된 스크립트 또는 사용 시점에 출력 파일을 지정하십시오-l. 사용-기본값이기도하는 표준 출력의 경우

-f형식
-Format =형식

아카이브의 형식을 지정합니다. 이후 형식을 지정할 필요는 없습니다.무지개 토토형식을 자동으로 결정합니다. 지정된 경우 다음 중 하나 일 수 있습니다.

c
Custom

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

d
디렉토리

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

t
타르

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

-i색인
-index =색인

명명 된 인덱스의 정의 복원. 여러 인덱스가 다중로 지정 될 수 있습니다-i스위치.

-jJOBS 번호
-jobs =JOBS 번호

가장 시간이 많이 걸리는 부분을 실행무지개 토토- 여러 동시 작업을 사용하여 데이터를로드하거나 인덱스를 생성하거나 제약 조건을 생성하는 것. 이 옵션은 대형 데이터베이스를 멀티 프로세서 시스템에서 실행하는 서버로 복원하는 시간을 극적으로 줄일 수 있습니다.

각 작업은 운영 체제에 따라 하나의 프로세스 또는 하나의 스레드이며 서버와 별도의 연결을 사용합니다.

이 옵션의 최적 값은 서버, 클라이언트 및 네트워크의 하드웨어 설정에 따라 다릅니다. CPU 코어 수와 디스크 설정이 포함됩니다.

이 옵션에서는 사용자 정의 및 디렉토리 아카이브 형식 만 지원됩니다. 입력은 일반 파일 또는 디렉토리 여야합니다 (예 : 파이프가 아님).-스플리닝 전환.

-l
--- list

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

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

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

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

-n스키마
--- 스키마 =스키마

명명 된 스키마에있는 객체 만 복원합니다. 다중 스키마를 여러 개로 지정할 수 있습니다-n스위치. 이것은와 결합 될 수 있습니다.-t특정 테이블 만 복원하는 옵션.

-n스키마
--exclude-schema =스키마

명명 된 스키마에있는 개체를 복원하지 마십시오. 제외 될 다중 스키마는 다중로 지정 될 수 있습니다-n스위치.

둘 다-n-n동일한 스키마 이름, The에 대해 제공됩니다.-n스위치 승리 및 스키마는 제외됩니다.

-o
---소유자

원래 데이터베이스와 일치하도록 객체의 소유권을 설정하도록 명령을 출력하지 마십시오. 기본적으로무지개 토토문제Alter Owner또는세션 승인 설정생성 된 스키마 요소의 소유권을 설정하기위한 진술. 데이터베이스에 대한 초기 연결이 SuperUser (또는 스크립트의 모든 객체를 소유 한 동일한 사용자)에 의해 작성되지 않는 한이 진술은 실패합니다.-o, 모든 사용자 이름은 초기 연결에 사용될 수 있으며이 사용자는 생성 된 모든 객체를 소유합니다.

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

명명 된 함수 만 복원하십시오. 덤프 파일의 내용 테이블에 나타나는대로 함수 이름과 인수를 정확하게 철자하십시오.-p스위치.

-r
-no-reconnect

이 옵션은 더 이상 사용되지 않지만 여전히 거꾸로 호환성으로 인정됩니다.

-s
--- 스키마 전용

스키마 항목이 아카이브에있는 정도까지 데이터가 아닌 스키마 (데이터 정의) 만 복원합니다.

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

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

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

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

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

명명 된 테이블 만 정의 및/또는 데이터를 복원합니다. 이를 위해테이블뷰, 구체화 된 뷰, 시퀀스 및 이물 테이블이 포함되어 있습니다. 여러 테이블을 다중 쓰면 선택할 수 있습니다-t스위치. 이 옵션은와 결합 할 수 있습니다.-n특정 스키마에서 표를 지정하는 옵션.

Note

언제-t지정되어 있습니다.무지개 토토선택한 테이블이 의존 할 수있는 다른 데이터베이스 개체를 복원하려고 시도하지 않습니다. 따라서 특정 테이블 복원이 깨끗한 데이터베이스에 성공할 것이라는 보장은 없습니다.

Note

이 깃발은와 동일하게 행동하지 않습니다-t플래그pg_dump. 현재 와일드 카드 일치에 대한 조항은 없습니다무지개 토토또는 그 안에 스키마 이름을 포함 할 수 없을 수도 있습니다-t.

Note

이전 버전postgresql9.6,이 플래그는 다른 유형의 관계가 아닌 테이블 만 일치했습니다.

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

이름이 지정된 트리거 만 복원합니다. 다중 트리거를 여러 개로 지정할 수 있습니다-t스위치.

-v
-Versbose

정점 모드를 지정합니다.

-v
-버전

인쇄무지개 토토버전 및 종료.

-x
----- 프리 빌즈
---- 아카클

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

-1
-스플리닝 전환

복원을 단일 트랜잭션으로 실행합니다 (즉, 방출 명령을 래핑20116_20121/커밋). 이를 통해 모든 명령이 성공적으로 완료되거나 변경 사항이 적용되지 않도록합니다.--exit-on-error.

-disable-triggers

이 옵션은 데이터 전용 복원을 수행 할 때만 관련이 있습니다. 지시무지개 토토데이터가 다시로드되는 동안 대상 테이블의 트리거를 일시적으로 비활성화하기 위해 명령을 실행하려면. 데이터 재 장전 중에 호출하지 않으려는 테이블에 참조 무결성 검사 또는 기타 트리거가있는 경우

현재, 명령은-disable-triggers슈퍼 유저로 수행해야합니다. 그래서 당신은 또한 superuser 이름을 지정해야합니다.-s또는 바람직하게는 run무지개 토토aspostgresqlSuperUser.

-enable-row-security

이 옵션은 행 보안이있는 테이블의 내용을 복원 할 때만 관련이 있습니다. 기본적으로무지개 토토설정row_securityOFF, 모든 데이터가 테이블로 복원되도록합니다. 사용자가 ROW 보안을 우회하기에 충분한 권한이 없으면 오류가 발생합니다.무지개 토토setrow_security대신 ON 대신 사용자가 행 보안을 활성화하여 테이블의 내용을 복원하려고 시도 할 수 있습니다. 사용자가 덤프에서 행을 테이블에 삽입 할 권리가 없으면 여전히 실패 할 수 있습니다.

이 옵션은 현재 덤프도 필요합니다삽입형식, as복사행 보안을 지원하지 않습니다.

-if-Exists

조건부 명령 사용 (즉, 추가존재하는 경우조항) 데이터베이스 개체를 청소할 때. 이 옵션은이 아니라면 유효하지 않습니다.-Clean지정되어 있습니다.

--나사-파일 테이블

기본적으로 테이블의 생성 명령이 실패하더라도 테이블 데이터가 복원됩니다 (예 : 이미 존재하기 때문에). 이 옵션을 사용하면 이러한 테이블의 데이터가 건너 뜁니다.postgresql예를 들어Postgis이미 대상 데이터베이스에로드 될 수 있습니다. 이 옵션을 지정하면 중복 또는 쓸모없는 데이터가로드되는 것을 방지합니다.

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

--공개

아카이브에 포함 된 경우에도 출판물을 복원하기 위해 명령을 출력하지 마십시오.

-No-Security-Labels

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

--서브 스크립트

아카이브에 포함 된 경우에도 구독을 복원하기 위해 명령을 출력하지 마십시오.

---- 타블 스페이스

테이블 스페이스를 선택하려면 명령을 출력하지 마십시오. 이 옵션을 사용하면 복원 중에 테이블 스페이스가 기본값 인 모든 객체가 생성됩니다.

-섹션 =SectionName

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

데이터 섹션에는 실제 테이블 데이터와 대량 관측 정의가 포함되어 있습니다. 데이터 포스트 데이터 항목은 검증 된 확인 제약 이외의 인덱스, 트리거, 규칙 및 제약 조건으로 구성됩니다.

-스트릭-나프

각 스키마를 요구합니다 (-n/--- 스키마) 및 표 (-t/-타이블) 백업 파일의 적어도 하나의 스키마/테이블 일치.

-서지 세션 증명

출력 SQL-Standard세션 승인 설정대신 명령Alter Owner개체 소유권을 결정하는 명령. 이로 인해 덤프가 더 많은 표준과 호환되지만 덤프의 물체의 이력에 따라 제대로 복원되지 않을 수 있습니다.

-?
-help

도움말 표시무지개 토토명령 줄 인수 및 종료

무지개 토토또한 연결 매개 변수에 대한 다음 명령 줄 인수를 허용합니다.

-hhost
-host =host

서버가 실행중인 시스템의 호스트 이름을 지정합니다. 값이 슬래시로 시작하면 Unix 도메인 소켓의 디렉토리로 사용됩니다.pghost환경 변수, 설정하면 UNIX 도메인 소켓 연결이 시도됩니다.

-p포트
-포트 =포트

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

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

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

-w
-no-password

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

-w
--password

무지개 토토데이터베이스에 연결하기 전에 비밀번호를 신속하게하려면

이 옵션은 결코 필수적이지 않습니다.무지개 토토서버가 암호 인증을 요구하는 경우 비밀번호를 자동으로 프롬프트합니다. 하지만,무지개 토토서버가 비밀번호를 원한다는 것을 알아내는 연결 시도를 낭비합니다. 어떤 경우에는 입력 할 가치가 있습니다-w추가 연결 시도를 피하려면

-role =Rolename

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

환경

pghost
pgoptions
pgport
PGUSER

기본 연결 매개 변수

이 유틸리티, 대부분의 다른 유틸리티postgresql유틸리티는 또한 지원하는 환경 변수를 사용합니다libpq(참조섹션 33.14). 그러나 읽지 않습니다pgdatabase데이터베이스 이름이 제공되지 않은 경우.

진단

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

노트

설치에 로컬 추가가있는 경우template1데이터베이스, 출력을로드하도록주의하십시오무지개 토토진정으로 빈 데이터베이스로; 그렇지 않으면 추가 된 객체의 중복 정의로 인해 오류가 발생할 수 있습니다.Template0nottemplate1, 예 :

템플릿 템플릿을 사용하여 데이터베이스 foo 생성;

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

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

  • 무지개 토토큰 물체를 선택적으로 복원 할 수 없습니다. 예를 들어, 특정 테이블에 대한 것만.-l, -t또는 기타 옵션.

참조pg_dump제한 사항에 대한 자세한 내용pg_dump.

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

예제

우리가라는 데이터베이스를 버렸다고 가정합니다.MyDB사용자 정의 덤프 파일로 :

$ 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대신 복원 할 데이터베이스에 직접 연결하십시오. 또한 새 데이터베이스를 복제합니다.Template0nottemplate1, 처음에 비어 있는지 확인하려면

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

$ 무지개 토토 -L DB.DUMP> DB.LIST

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

;

세미콜론은 주석을 시작하고 줄의 시작 부분에서 숫자는 각 항목에 할당 된 내부 아카이브 ID를 나타냅니다.

파일의 줄은 주석, 삭제 및 재정렬 할 수 있습니다. 예를 들어:

10; 145433 테이블 map_resolutions postgres

입력으로 사용될 수 있습니다무지개 토토그리고 그 순서대로 항목 10과 6 만 복원 할 것입니다 :

$ 무지개 토토 -L DB.LIST DB.DUMP