무지개 토토 - 복원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
특정 스키마에서 표를 지정하는 옵션.
언제-t
지정되어 있습니다.무지개 토토선택한 테이블이 의존 할 수있는 다른 데이터베이스 개체를 복원하려고 시도하지 않습니다. 따라서 특정 테이블 복원이 깨끗한 데이터베이스에 성공할 것이라는 보장은 없습니다.
이 깃발은와 동일하게 행동하지 않습니다-t
플래그pg_dump. 현재 와일드 카드 일치에 대한 조항은 없습니다무지개 토토또는 그 안에 스키마 이름을 포함 할 수 없을 수도 있습니다-t
.
이전 버전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
데이터베이스, 출력을로드하도록주의하십시오무지개 토토진정으로 빈 데이터베이스로; 그렇지 않으면 추가 된 객체의 중복 정의로 인해 오류가 발생할 수 있습니다.Template0
nottemplate1
, 예 :
템플릿 템플릿을 사용하여 데이터베이스 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
대신 복원 할 데이터베이스에 직접 연결하십시오. 또한 새 데이터베이스를 복제합니다.Template0
nottemplate1
, 처음에 비어 있는지 확인하려면
데이터베이스 항목을 재정렬하려면 먼저 아카이브의 목차를 버려야합니다.
$
무지개 토토 -L DB.DUMP> DB.LIST
목록 파일은 헤더와 각 항목의 한 줄로 구성됩니다 (예 :.
;
세미콜론은 주석을 시작하고 줄의 시작 부분에서 숫자는 각 항목에 할당 된 내부 아카이브 ID를 나타냅니다.
파일의 줄은 주석, 삭제 및 재정렬 할 수 있습니다. 예를 들어:
10; 145433 테이블 map_resolutions postgres
입력으로 사용될 수 있습니다무지개 토토그리고 그 순서대로 항목 10과 6 만 복원 할 것입니다 :
$
무지개 토토 -L DB.LIST DB.DUMP