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

토토 꽁 머니

이름

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

시놉시스

토토 꽁 머니[Connection-Option...] [옵션...] [filename]

설명

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

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

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

옵션

토토 꽁 머니다음 명령 줄 인수.

filename

아카이브 파일의 위치를 ​​지정합니다 복원. 지정되지 않으면 표준 입력이 사용됩니다.

-a
-데이터 전용

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

-c
-Clean

재현하기 전에 클린 (DROP) 데이터베이스 개체 그들을.

-c
-Create

데이터베이스를 복원하기 전에 데이터베이스를 만듭니다. (이번 옵션이 사용됩니다.-d초기를 발행하는 데만 사용됩니다데이터베이스 생성명령. 모든 데이터 표시되는 데이터베이스 이름으로 복원됩니다. 보관소.)

-ddbname
-dbname =dbname

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

-e
--exit-on-error

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

-ffilename
-파일 =filename

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

-f형식
-Format =형식

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

t
타르

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

C
Custom

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

-i
-ignore-version

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

-iindex
-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, 모든 사용자 이름 초기 연결에 사용할 수 있으며이 사용자는 생성 된 모든 개체를 소유하고 있습니다.

-No-TableSpaces

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

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

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

-r
-no-reconnect

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

-s
--- 스키마 전용

데이터가 아닌 스키마 (데이터 정의) 만 복원합니다 (테이블 내용). 현재 순서 값은 그렇지 않습니다 복원. (이것을와 혼동하지 마십시오.--- 스키마단어를 사용하는 옵션"스키마"다른 의미.)

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

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

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

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

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

Trigger 만 명명 된 복원.

-v
-VERBOSE

정점 모드를 지정합니다.

-v
-버전

인쇄토토 꽁 머니버전 및 종료.

-x
----- 프리 빌즈
---- ACL

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

-disable-triggers

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

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

-서지 세션 증명

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

--나다-파일 테이블

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

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

-1
--- 단일 전환

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

-?
-help

도움말 표시토토 꽁 머니명령 줄 인수 및 출구.

토토 꽁 머니도 수락합니다 연결 매개 변수에 대한 명령 줄 인수 :

-hhost
-host =host

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

-p포트
-포트 =포트

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

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

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

-w
-no-password

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

-w
--password

Force토토 꽁 머니TO 데이터베이스에 연결하기 전에 암호를 자랑합니다.

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

-role =Rolename

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

환경

pghost
pgoptions
pgport
PGUSER

기본 연결 매개 변수

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

진단

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

노트

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

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

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

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

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

참조PostgreSQL : 문서 : 9.0 : 토토 베이제한 사항에 대한 자세한 내용pg_dump.

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

우리가라는 데이터베이스를 버렸다고 가정합니다.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

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

;
; 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