토토

토토 - 복원 Apostgresql|pg_dump

시놉시스

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

설명

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

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

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

옵션

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

filename

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

-a
-데이터 전용

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

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

-c
-Clean

데이터베이스 개체를 복원하기 전에 명령을 발행드롭복원 될 모든 객체. 이 옵션은 기존 데이터베이스를 덮어 쓰는 데 유용합니다.-If-Exists지정되어 있습니다.

-c
-Create

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

with-크리징,토토또한 토토의 의견을 복원 하고이 토토에 특정한 구성 변수 설정, 즉토토 변경 ... 세트 ...and토토의 ALTER 역할 ... 토토 ... 세트 ...이 데이터베이스를 언급하는 명령. 데이터베이스 자체에 대한 액세스 권한도 복원되지 않는 한---- 아카클지정되어 있습니다.

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

-ddbname
-dbname =dbname

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

-e
--exit-on-error

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

-ffilename
-파일 =filename

생성 된 스크립트 또는 사용 시점에 출력 파일을 지정하십시오-l. 사용-forStdout.

-f형식
-format =형식

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

C
Custom

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

d
디렉토리

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

t
타르

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

-iindex
-index =index

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

-jJOBS 번호
-jobs =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스위치.

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

-o
---소유자

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

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

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

-r
-no-reconnect

이 옵션은 더 이상 사용되지 않지만 여전히 거꾸로 호환되기 위해 허용됩니다.

-s
--- 스키마 전용

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

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

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

-s사용자 이름
--- 서퍼 루서 =사용자 이름

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

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

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

note

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

Note

이 플래그는와 동일하게 작동하지 않습니다.-t플래그pg_dump. 현재 와일드 카드 일치에 대한 조항은 없습니다토토, 그 안에 스키마 이름을 포함 할 수 없거나-t. 그리고, 동안pg_dump's-t플래그는 선택한 테이블의 자회사 객체 (예 : 인덱스)를 덤프합니다.토토's-t플래그는 그러한 자회사 개체가 포함되어 있지 않습니다.

Note

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

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

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

-v
-VERBOSE

정점 모드를 지정합니다. 이로 인해토토상세한 객체 주석을 출력하고 출력 파일의 시작/중지 시간을 표준 오류로 진행합니다. 옵션을 반복하면 표준 오류에 추가 디버그 레벨 메시지가 표시됩니다.

-v
-버전

인쇄토토버전 및 종료.

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

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

-1
--- 싱글 전환

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

-disable-triggers

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

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

-enable-row-security

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

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

-IF-Exists

use드롭 ... 존재하는 경우객체를 삭제하는 명령-Clean모드. 이것은 억제존재하지 않습니다그렇지 않으면보고 될 수있는 오류. 이 옵션은이 아니라면 유효하지 않습니다.-Clean지정되어 있습니다.

-no-comments

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

--나사-파일 테이블

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

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

--공개

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

-No-Security-Labels

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

---- 서브 ​​스크립트

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

--테이블 액세스-메드

테이블 액세스 방법을 선택하기 위해 명령을 출력하지 마십시오. 이 옵션을 사용하면 모든 객체가 복원 중에 기본값 인 액세스 방법으로 생성됩니다.

---- 타블 스페이스

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

-섹션 =SectionName

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

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

--- 스트릭-나프

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

-서지 세션 증명

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

-?
-헬프

도움말 쇼토토명령 줄 인수 및 종료

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

-h호스트
-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

기본 연결 매개 변수

pg_color

진단 메시지에서 색상을 사용할지 여부를 지정합니다. 가능한 값은항상,auto절대.

이 유틸리티, 대부분의 다른 유틸리티PostgreSQL유틸리티는 또한 지원하는 환경 변수를 사용합니다libpq(참조PostgreSQL : 문서 : 16 : 34.15. 환경 토토 결과). 그러나 읽지 않습니다pgdatabase데이터베이스 이름이 제공되지 않은 경우.

진단

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

노트

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

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

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

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

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

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

일단 복원되면 실행하는 것이 현명합니다분석각 복원 된 테이블에서 Optimizer에 유용한 통계가 있습니다. 보다섹션 25.1.3섹션 25.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

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면