이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.postgresql : 문서 : 17 : 스포츠 토토 사이트버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

pg_dump

pg_dump - 추출 aPostgreSQL스포츠 토토를 스크립트 파일 또는 기타 아카이브 파일로

시놉시스

pg_dump [연결 옵션...] [옵션...] [DB이름]

설명

pg_dump백업용 유틸리티입니다.PostgreSQL스포츠 토토. 스포츠 토토를 동시에 사용하는 경우에도 일관된 백업을 만듭니다.pg_dump다른 사용자가 스포츠 토토 (독자 또는 작가)에 액세스하는 것을 차단하지 않습니다.

pg_dump단일 데이터베이스만 덤프합니다. 전체 클러스터를 백업하거나 클러스터의 모든 데이터베이스에 공통적인 전역 개체(예: 역할 및 테이블스페이스)를 백업하려면 다음을 사용합니다.pg_dumpall.

덤프는 스크립트 또는 아카이브 파일 형식으로 출력될 수 있습니다. 스크립트 덤프는 스포츠 토토를 저장 당시의 상태로 재구성하는 데 필요한 SQL 명령이 포함된 일반 텍스트 파일입니다. 이러한 스크립트에서 복원하려면 해당 스크립트를 공급하세요.psql. 스크립트 파일은 다른 시스템 및 기타 아키텍처에서도 스포츠 토토를 재구성하는 데 사용될 수 있습니다. 다른 SQL 스포츠 토토 제품에서도 약간의 수정이 있습니다.

대체 아카이브 파일 형식은와 함께 사용해야합니다.pg_restore스포츠 토토를 재구축합니다. 그들은 허용한다pg_restore복원할 항목을 선택적으로 선택하거나 복원하기 전에 항목을 다시 정렬해야 합니다. 아카이브 파일 형식은 아키텍처 간에 이식 가능하도록 설계되었습니다.

아카이브 파일 형식 중 하나와 함께 사용하고 다음과 결합하는 경우pg_restore, pg_dump유연한 보관 및 전송 메커니즘을 제공합니다.pg_dump전체 스포츠 토토를 백업하는 데 사용될 수 있습니다.pg_restore아카이브를 검사하거나 복원할 데이터베이스 부분을 선택하는 데 사용할 수 있습니다. 가장 유연한 출력 파일 형식은 다음과 같습니다.커스텀형식 (-fc) 및디렉토리형식 (-fd). 보관된 모든 항목을 선택하고 재정렬할 수 있으며 병렬 복원을 지원하고 기본적으로 압축됩니다. 그만큼디렉토리형식은 병렬 덤프를 지원하는 유일한 형식입니다.

실행 중pg_dump, 특히 아래 나열된 제한 사항을 고려하여 출력에서 ​​경고(표준 오류에 인쇄됨)를 검사해야 합니다.

옵션

다음 명령줄 옵션은 출력의 내용과 형식을 제어합니다.

DB이름

덤프 할 스포츠 토토의 이름을 지정합니다. 이것이 지정되지 않은 경우 환경 변수pgdatabase사용됩니다. 설정되지 않은 경우 연결에 지정된 사용자 이름이 사용됩니다.

-a
-데이터 전용

스키마가 아닌 데이터 만 덤프합니다 (데이터 정의). 테이블 데이터, 큰 객체 및 시퀀스 값이 덤프됩니다.

이 옵션은 다음과 유사하지만 역사적 이유로 동일하지 않습니다.-섹션 = 데이터.

-B
--방울

덤프에 큰 물체를 포함시킵니다. 이것은을 제외한 기본 동작입니다-schema, -타이블, 또는--스키마 전용지정되었습니다. 그만큼-b15177_15367-데이터 전용사용되었지만--- 스키마 전용입니다.

-B
--블롭 없음

덤프에서 대형 개체를 제외합니다.

둘 다일 때-b그리고-B이 주어지면 동작은 데이터가 덤프될 때 큰 개체를 출력하는 것입니다.-b문서.

-c
--깨끗함

명령을 출력할 대상드롭덤프 된 모든 데이터베이스 개체를 생성하기위한 명령을 출력하기 전에. 이 옵션은 복원이 기존 데이터베이스를 덮어 쓰는 경우 유용합니다. 대상 데이터베이스에 객체 중 하나가 존재하지 않으면 복원 중에 무지한 오류 메시지가보고됩니다.--if-존재하는 경우또한 지정되었습니다.

이 옵션은 아카이브(텍스트가 아닌) 출력 파일을 내보낼 때 무시됩니다. 아카이브 형식의 경우 전화 시 옵션을 지정할 수 있습니다.pg_restore.

-C
--생성

스포츠 토토 자체를 생성하고 생성된 스포츠 토토에 다시 연결하는 명령으로 출력을 시작합니다. (이 형식의 스크립트를 사용하면 스크립트를 실행하기 전에 대상 설치의 어떤 스포츠 토토에 연결하는지는 중요하지 않습니다.) If--깨끗함또한 지정되어 있습니다. 스크립트가 다시 연결되기 전에 대상 스포츠 토토를 삭제하고 재현합니다.

함께-Create, 출력에는 스포츠 토토의 주석도 포함되어 있으며이 스포츠 토토에 특정한 구성 변수 설정, 즉스포츠 토토 변경 ... 설정 ...그리고역할 변경 ... 스포츠 토토에서 ... 설정 ...이 데이터베이스를 언급하는 명령입니다. 다음을 제외하면 데이터베이스 자체에 대한 액세스 권한도 덤프됩니다.--no-acl지정되었습니다.

이 옵션은 아카이브 (비 텍스트) 출력 파일을 방출 할 때 무시됩니다. 아카이브 형식의 경우 호출 할 때 옵션을 지정할 수 있습니다PG_RESTORE.

-E인코딩
-encoding =인코딩

지정된 문자 집합 인코딩으로 덤프를 생성합니다. 기본적으로 덤프는 데이터베이스 인코딩으로 생성됩니다. (동일한 결과를 얻는 또 다른 방법은 다음을 설정하는 것입니다.PGCLIENTENCODING원하는 덤프 인코딩에 대한 환경 변수.)

-f파일
--파일=파일

지정된 파일로 출력을 보냅니다. 파일 기반 출력 형식의 경우 이 매개변수를 생략할 수 있으며, 이 경우 표준 출력이 사용됩니다. 그러나 디렉터리 출력 형식의 경우 파일 대신 대상 디렉터리를 지정하는 경우 제공되어야 합니다. 이 경우 디렉토리는에 의해 생성됩니다.pg_dump이전에는 존재하지 않아야합니다.

-F형식
--format=형식

출력 형식을 선택합니다.형식다음 중 하나일 수 있습니다.

p
일반

일반 텍스트 출력SQL스크립트 파일(기본값).

c
커스텀

입력에 적합한 사용자 정의 형식 아카이브를 출력pg_restore. 디렉토리 출력 형식과 함께 복원 중에 보관 된 항목을 수동 선택 및 재주문 할 수 있다는 점에서 가장 유연한 출력 형식입니다. 이 형식은 기본적으로 압축됩니다.

d
디렉토리

입력에 적합한 디렉토리 형식 아카이브를 출력pg_restore. 이렇게하면 각 테이블마다 하나의 파일이있는 디렉토리가 생겨서 덤프가 덤프되는 블로브와 덤프 된 객체를 기계로 읽을 수있는 형식으로 설명하는 소위 목차 파일을 만듭니다.pg_restore읽을 수 있습니다. 디렉토리 형식 아카이브는 표준 UNIX 도구로 조작 할 수 있습니다. 예를 들어, 압축되지 않은 아카이브의 파일은로 압축 할 수 있습니다.gzip도구. 이 형식은 기본적으로 압축되어 있으며 병렬 덤프도 지원합니다.

t
타르

출력 a타르-입력에 적합한 전형적인 아카이브pg_restore. tar 형식은 디렉토리 형식과 호환됩니다. tar 형식 아카이브를 추출하면 유효한 디렉토리 형식 아카이브가 생성됩니다. 그러나 tar 형식은 압축을 지원하지 않습니다. 또한 tar 형식을 사용하는 경우 복원 중에 테이블 데이터 항목의 상대적 순서를 변경할 수 없습니다.

-jnjobs
--작업=njobs

덤핑을 통해 덤프를 병렬로 실행njobs테이블을 동시에. 이 옵션은 덤프 시간을 단축하지만 데이터베이스 서버의 로드도 증가시킵니다. 이 옵션은 여러 프로세스가 동시에 데이터를 쓸 수 있는 유일한 출력 형식이므로 디렉터리 출력 형식에만 사용할 수 있습니다.

pg_dump열릴 것입니다njobs+ 데이터베이스에 대한 1개의 연결이므로 다음을 확인하세요.max_connections설정이 모든 연결을 수용할 만큼 충분히 높습니다.

병렬 덤프를 실행하는 동안 스포츠 토토 개체에 대한 배타적 잠금을 요청하면 덤프가 실패할 수 있습니다. 그 이유는pg_dump마스터 프로세스는 작업자 프로세스가 나중에 덤프할 개체에 대한 공유 잠금을 요청하여 덤프가 실행되는 동안 아무도 해당 개체를 삭제하고 사라지게 하지 않도록 합니다. 그런 다음 다른 클라이언트가 테이블에 대한 배타적 잠금을 요청하면 해당 잠금은 부여되지 않지만 마스터 프로세스의 공유 잠금이 해제될 때까지 대기하게 됩니다. 결과적으로 테이블에 대한 다른 액세스도 허용되지 않으며 배타적 잠금 요청 후에 대기열에 추가됩니다. 여기에는 테이블을 덤프하려는 작업자 프로세스가 포함됩니다. 예방 조치가 없으면 이는 전형적인 교착 상태 상황이 됩니다. 이 충돌을 감지하려면,pg_dump작업자 프로세스가 다음을 사용하여 또 다른 공유 잠금을 요청합니다.NOWAIT옵션. 작업자 프로세스에 이 공유 잠금이 부여되지 않은 경우 다른 사람이 그 동안 배타적 잠금을 요청한 것이 분명하며 덤프를 계속할 수 있는 방법이 없습니다.pg_dump덤프를 중단하는 것 외에는 선택의 여지가 없습니다.

일관된 백업의 경우 데이터베이스 서버는 동기화 된 스냅 샷을 지원해야합니다.PostgreSQL24261_24427pg_dump -j여러 스포츠 토토 연결을 사용합니다. 마스터 프로세스를 사용하여 한 번, 각 작업자 작업에 대해 다시 한 번 스포츠 토토에 연결합니다. 동기화된 스냅샷 기능이 없으면 여러 작업자 작업이 각 연결에서 동일한 데이터를 볼 수 있다고 보장할 수 없으므로 일관성 없는 백업이 발생할 수 있습니다.

Pre-9.2 서버의 병렬 덤프를 실행하려면 마지막 작업자 작업이 데이터베이스에 연결될 때까지 마스터가 데이터베이스에 연결하는 시간부터 데이터베이스 컨텐츠가 변경되지 않도록해야합니다. 이를 수행하는 가장 쉬운 방법은 백업을 시작하기 전에 데이터베이스에 액세스하는 데이터 수정 프로세스 (DDL 및 DML)를 중단하는 것입니다. 또한를 지정해야합니다.--동기화되지 않은 스냅샷실행 시 매개변수pg_dump -jPre-9.2에 대한PostgreSQLServer.

-n패턴
--- 스키마 =패턴

덤프 전용 스키마 일치패턴; 이렇게 하면 스키마 자체와 포함된 모든 개체가 모두 선택됩니다. 이 옵션을 지정하지 않으면 대상 데이터베이스의 모든 비시스템 스키마가 덤프됩니다. 여러 스키마를 작성하여 여러 스키마를 선택할 수 있습니다-n스위치. 그만큼패턴매개 변수는에 의해 사용 된 것과 동일한 규칙에 따라 패턴으로 해석됩니다.psql's\ d명령(참조패턴), 따라서 패턴에 와일드카드 문자를 작성하여 여러 스키마를 선택할 수도 있습니다. 와일드카드를 사용할 때 쉘이 와일드카드를 확장하지 못하도록 필요한 경우 패턴을 인용하도록 주의하십시오. 보다예제.

참고

언제-n지정되었습니다.pg_dump선택한 스키마가 의존할 수 있는 다른 스포츠 토토 개체를 덤프하려고 시도하지 않습니다. 따라서 특정 스키마 덤프의 결과가 자체적으로 깨끗한 스포츠 토토로 성공적으로 복원될 수 있다는 보장은 없습니다.

참고

BLOB과 같은 비스키마 개체는 다음 경우에 덤프되지 않습니다.-n지정되었습니다. 다음을 사용하여 Blob을 덤프에 다시 추가할 수 있습니다.--방울스위치.

-N패턴
--exclude-schema =27547_27556

스키마 일치하는 스키마를 버리지 마십시오패턴. 패턴은와 같은 규칙에 따라 해석됩니다.-n. -N여러 패턴 중 하나 일치하는 스키마를 제외하기 위해 한 번 이상 제공 될 수 있습니다.

둘 다-n그리고-N이 주어지면 동작은 적어도 하나와 일치하는 스키마만 덤프하는 것입니다.-n전환하지만 아니요-N스위치. 만약에-N없이 나타남-n, 그러면 스키마 일치-n그렇지 않으면 일반 덤프에서 제외됩니다.

-O
--소유자 없음

원래 스포츠 토토와 일치하도록 개체의 소유권을 설정하는 명령을 출력하지 마십시오. 기본적으로,pg_dump문제소유자 변경또는세션 승인 설정생성 된 데이터베이스 개체의 소유권을 설정하기위한 문. 스크립트가 슈퍼 사용자 (또는 스크립트의 모든 객체를 소유 한 동일한 사용자)에 의해 시작되지 않는 한 스크립트가 실행될 때이 진술은 실패합니다. 모든 사용자가 복원 할 수있는 스크립트를 만들려면 모든 객체의 사용자 소유권을 지정하려면-o.

이 옵션은 아카이브(텍스트가 아닌) 출력 파일을 내보낼 때 무시됩니다. 아카이브 형식의 경우 전화 시 옵션을 지정할 수 있습니다.PG_RESTORE.

-R
-no-reconnect

이 옵션은 더 이상 사용되지 않지만 이전 버전과의 호환성을 위해 여전히 허용됩니다.

-s
--스키마 전용

데이터가 아닌 개체 정의(스키마)만 덤프합니다.

이 옵션은 반대입니다--데이터 전용. 다음과 유사하지만 역사적 이유로 동일하지는 않습니다.-섹션 = 사전 데이터-섹션 = post-data.

(이것을 다음과 혼동하지 마십시오.--스키마옵션, 단어를 사용함스키마다른 의미로.)

데이터베이스의 테이블 하위 집합에 대해서만 테이블 데이터를 제외하려면 다음을 참조하세요.--exclude-table-data.

-S사용자 이름
--수퍼유저=사용자 이름

트리거를 비활성화할 때 사용할 수퍼유저 사용자 이름을 지정하십시오. 이는 다음과 같은 경우에만 관련됩니다.--비활성화-트리거이 사용됩니다. (일반적으로 이를 생략하고 대신 슈퍼유저로 결과 스크립트를 시작하는 것이 좋습니다.)

-t패턴
--테이블=패턴

이름이 일치하는 테이블만 덤프패턴. 이를 위해,테이블뷰, 구체화된 뷰, 시퀀스 및 외부 테이블을 포함합니다. 여러 테이블을 작성하여 여러 테이블을 선택할 수 있습니다-t스위치. 그만큼패턴매개변수는 다음에서 사용하는 것과 동일한 규칙에 따라 패턴으로 해석됩니다.psql's\ d명령(참조패턴)이므로 패턴에 와일드카드 문자를 작성하여 여러 테이블을 선택할 수도 있습니다. 와일드카드를 사용할 때 쉘이 와일드카드를 확장하지 못하도록 필요한 경우 패턴을 인용하도록 주의하십시오. 보다.

the-n-N다음 경우에는 스위치가 효과가 없습니다-t다음에 의해 테이블이 선택되었기 때문에 사용됩니다.-t해당 스위치에 관계없이 덤프되며 테이블이 아닌 개체는 덤프되지 않습니다.

note

언제-t지정되었습니다.pg_dump선택한 테이블이 의존할 수 있는 다른 데이터베이스 개체를 덤프하려고 시도하지 않습니다. 따라서 특정 테이블 덤프의 결과가 스스로 깨끗한 데이터베이스로 성공적으로 복원될 수 있다는 보장은 없습니다.

참고

의 행동-t스위치는 전적으로 8.2와 호환되지 않습니다.포스트그레SQL버전. 이전에 글을 쓰는 중-t 탭이름이 지정된 모든 테이블을 덤프합니다, 그러나 이제는 기본 검색 경로에 표시되는 항목을 덤프합니다. 이전 동작을 얻으려면 작성할 수 있습니다.-t '*.tab'. 또한 다음과 같이 작성해야 합니다.-t sch.tab이전 스키마에서 테이블을 선택하려면-n sch -t 탭.

-T패턴
--제외 테이블=패턴

일치하는 테이블을 덤프하지 마십시오.패턴. 패턴은 와 동일한 규칙에 따라 해석됩니다.-t. -t여러 패턴과 일치하는 테이블을 제외하기 위해 두 번 이상 제공될 수 있습니다.

둘 다일 때-t-T동작은 적어도 하나 이상의 테이블 만 덤프하는 것입니다-t전환하지만 아니요-T스위치. 만약에-T없이 나타남-t, 그런 다음 테이블 일치-t그렇지 않으면 정상적인 덤프에서 제외됩니다.

-v
--상세

장점 모드를 지정합니다. 이로 인해pg_dump자세한 개체 설명과 시작/중지 시간을 덤프 파일에 출력하고 진행 메시지를 표준 오류로 출력합니다.

-V
--버전

인쇄pg_dump버전 및 종료.

-x
--권한 없음
--no-acl

접근 권한 덤프를 방지합니다(부여/해지 명령).

-z0..9
--압축=0..9

사용할 압축 레벨을 지정하십시오. 0은 압축이 없음을 의미합니다. 사용자 정의 및 디렉토리 아카이브 형식의 경우 개별 테이블 데이터 세그먼트의 압축을 지정하고 기본값은 중간 정도의 수준으로 압축하는 것입니다. 일반 텍스트 출력의 경우 0이 아닌 압축 레벨을 설정하면 전체 출력 파일이 마치 공급 된 것처럼gzip; 그러나 기본값은 압축되지 않습니다. Tar Archive 형식은 현재 압축을 전혀 지원하지 않습니다.

--바이너리-업그레이드

이 옵션은 전체 업그레이드 유틸리티에서 사용하기 위한 것입니다. 다른 목적으로 사용하는 것은 권장되거나 지원되지 않습니다. 옵션의 동작은 향후 릴리스에서 예고 없이 변경될 수 있습니다.

--열 삽입
--속성-삽입

다음으로 데이터 덤프삽입명시적인 열 이름이 있는 명령(INSERT INTO테이블 (, ...) 값 ...). 이것은 복원을 매우 느리게 만듭니다. 주로 비에로드 할 수있는 덤프를 만드는 데 유용합니다PostgreSQL데이터베이스. 복원 중 오류가 발생하면 문제가 있는 행만 발생합니다.삽입전체 테이블 내용이 아닌 손실 될 예정입니다.

-disable-dollar-quoting

이 옵션은 함수 본문에 달러 인용 사용을 비활성화하고 SQL 표준 문자열 구문을 사용하여 인용하도록 강제합니다.

--비활성화-트리거

이 옵션은 데이터 전용 덤프를 작성할 때만 관련이 있습니다. 지시pg_dump데이터가 복원되는 동안 대상 테이블에서 트리거를 일시적으로 비활성화하는 명령을 포함합니다. 데이터 복원 중에 호출하지 않으려는 테이블에 대한 참조 무결성 검사 또는 기타 트리거가 있는 경우 이를 사용하십시오.

현재 다음에 대해 내보낸 명령은--비활성화-트리거슈퍼 서서로 수행해야합니다. 따라서의 슈퍼 유저 이름도 지정해야합니다.-S또는 결과 스크립트를 수퍼유저로 시작하는 데 주의하는 것이 좋습니다.

이 옵션은 아카이브(텍스트가 아닌) 출력 파일을 내보낼 때 무시됩니다. 아카이브 형식의 경우 전화 시 옵션을 지정할 수 있습니다.pg_restore.

--행 보안 활성화

이 옵션은 행 보안이 있는 테이블의 내용을 덤프할 때만 관련됩니다. 기본적으로,pg_dump설정할 것입니다행_보안해제하여 모든 데이터가 테이블에서 덤프되도록 합니다. 사용자에게 행 보안을 우회할 수 있는 충분한 권한이 없으면 오류가 발생합니다. 이 매개변수는 다음을 지시합니다.pg_dump설정하다행_보안대신에 사용자가 액세스 권한이 있는 테이블 내용의 일부를 덤프할 수 있도록 허용합니다.

현재이 옵션을 사용하는 경우 덤프를 사용하고 싶을 수도 있습니다.삽입형식,복사복원 중에는 행 보안을 지원하지 않습니다.

--제외-테이블-데이터=패턴

일치하는 테이블에 대한 데이터를 덤프하지 마십시오.패턴. 패턴은와 같은 규칙에 따라 해석됩니다.-t. --제외 테이블 데이터여러 패턴과 일치하는 테이블을 제외하기 위해 두 번 이상 제공될 수 있습니다. 이 옵션은 특정 테이블에 데이터가 필요하지 않더라도 특정 테이블의 정의가 필요할 때 유용합니다.

데이터베이스의 모든 테이블에 대한 데이터를 제외하려면 다음을 참조하세요.--스키마 전용.

--extra-float-digits =ndigits

지정된 값 사용extra_float_digits부동 소수점 데이터를 덤프할 때 사용 가능한 최대 정밀도 대신. 백업 목적으로 만들어진 일상적인 덤프에서는 이 옵션을 사용하면 안 됩니다.

--존재하는 경우

사용드롭 ... 존재하는 경우객체를 삭제하는 명령--깨끗함모드. 이것은 억제합니다존재하지 않습니다그렇지 않으면 보고될 수 있는 오류입니다. 이 옵션은 다음 경우가 아니면 유효하지 않습니다.--깨끗함또한 지정되었습니다.

--삽입

다음으로 데이터 덤프삽입명령(대신복사). 이렇게 하면 복원 속도가 매우 느려집니다. 주로 비에 로드할 수 있는 덤프를 만드는 데 유용합니다.PostgreSQL데이터베이스. 복원 중 오류는 문제가되는 행만 만 발생합니다삽입전체 테이블 내용이 아닌 손실됩니다. 열 순서를 재정렬하면 복원이 완전히 실패 할 수 있습니다. 그만큼--열 삽입옵션은 열 순서 변경에 대해 안전하지만 속도는 더 느립니다.

--파티션 루트를 통해 로드

테이블 파티션에 대한 데이터를 덤프 할 때복사또는삽입문은 파티션 자체가 아닌 이를 포함하는 파티션 계층 구조의 루트를 대상으로 합니다. 이로 인해 데이터가 로드될 때 각 행에 대해 적절한 파티션이 다시 결정됩니다. 이는 행이 항상 원래 서버에서와 동일한 파티션에 속하지 않는 서버에서 데이터를 복원할 때 유용할 수 있습니다. 예를 들어 분할 열이 텍스트 유형이고 두 시스템에서 분할 열을 정렬하는 데 사용되는 데이터 정렬에 대해 서로 다른 정의를 사용하는 경우 이런 일이 발생할 수 있습니다.

--잠금-대기-시간 초과=타임 아웃

덤프 시작시 공유 테이블 잠금 장치를 영원히 기다리지 마십시오. 대신 지정된 내에서 테이블을 잠글 수 없으면 실패시간 초과. 시간 초과는 다음에서 허용되는 형식으로 지정할 수 있습니다.SET 문_시간 초과. (허용되는 형식은 덤프하는 서버 버전에 따라 다르지만 모든 버전에서 밀리초 단위의 정수가 허용됩니다.)

--코멘트 없음

댓글을 덤프하지 마십시오.

--공개

출판물을 덤프하지 마십시오.

-No-Security-Labels

보안 라벨을 덤프하지 마십시오.

--구독 없음

구독을 덤프하지 마십시오.

--동기화 없음

기본적으로,pg_dump모든 파일이 디스크에 안전하게 기록될 때까지 기다립니다. 이 옵션으로 인해pg_dump기다리지 않고 반환하는 것이 더 빠르지만 후속 운영 체제 충돌로 인해 덤프가 손상될 수 있음을 의미합니다. 일반적으로 이 옵션은 테스트에 유용하지만 프로덕션 설치에서 데이터를 덤프할 때는 사용하면 안 됩니다.

-no-synchronized-snapshots

이 옵션은 실행을 허용합니다pg_dump -j9.2 이전 서버에 대해서는 다음 문서를 참조하세요.-j자세한 내용은 매개변수를 참조하세요.

--테이블스페이스 없음

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

이 옵션은 아카이브(텍스트가 아닌) 출력 파일을 내보낼 때 무시됩니다. 아카이브 형식의 경우 전화 시 옵션을 지정할 수 있습니다.pg_restore.

-no-unlogged-table-data

무제한 테이블의 내용을 덤프하지 마십시오. 이 옵션은 테이블 정의 (스키마)가 덤프되는지 여부에 영향을 미치지 않습니다. 테이블 데이터 덤프 만 억제합니다. 대기 테이블의 데이터는 대기 서버에서 덤프 할 때 항상 제외됩니다.

--충돌 시 아무것도 하지 않음

추가충돌 시 아무것도 하지 않음삽입명령. 이 옵션은 다음 경우가 아니면 유효하지 않습니다.--삽입, --열 삽입또는--삽입당 행지정되어 있습니다.

--인용-모든 식별자

모든 식별자의 강제 인용. 이 옵션은 서버에서 데이터베이스를 덤프 할 때 권장됩니다.PostgreSQL주 버전이 다음과 다릅니다.pg_dump' 또는 출력이 다른 주요 버전의 서버에 로드되도록 의도된 경우. 기본적으로,pg_dump주 버전의 예약어인 식별자만 인용합니다. 이로 인해 약간 다른 예약어 세트가 있는 다른 버전의 서버를 처리할 때 호환성 문제가 발생하는 경우가 있습니다. 사용-Quote-all-Identifiers읽기 어려운 덤프 스크립트를 사용하여 이러한 문제를 방지합니다.

--삽입당 행=nrows

다음으로 데이터 덤프삽입명령(보다는복사). 당 최대 행 수를 제어합니다.삽입명령. 지정된 값은 0보다 큰 숫자여야 합니다. 복원 중 오류가 발생하면 문제가 있는 행만 발생합니다.삽입전체 테이블 내용이 아니라 손실됩니다.

--섹션=섹션 이름

이름이 지정된 섹션만 덤프하십시오. 섹션 이름은 다음과 같습니다.사전 데이터, 데이터, 또는포스트 데이터. 이 옵션을 두 번 이상 지정하여 여러 섹션을 선택할 수 있습니다. 기본값은 모든 섹션을 덤프하는 것입니다.

데이터 섹션에는 실제 테이블 데이터, 대형 객체 내용 및 시퀀스 값이 포함되어 있습니다. 데이터 후 항목에는 인덱스, 트리거, 규칙 및 검증 된 체크 제약 조건 이외의 제약 조건이 포함됩니다. 사전 데이터 항목에는 다른 모든 데이터 정의 항목이 포함됩니다.

--직렬화 가능-지연 가능

다음을 사용하세요직렬화 가능사용된 스냅샷이 이후 데이터베이스 상태와 일치하는지 확인하기 위한 덤프 트랜잭션. 그러나 덤프가 실패하거나 다른 트랜잭션이 다음과 같이 롤백될 위험이 없도록 트랜잭션 스트림에서 이상이 없는 지점을 기다려 이를 수행합니다.직렬화_실패. 보다사설 토토 : 문서 : 12 : 13 장. 동시성 제어트랜잭션 격리 및 동시성 제어에 대한 자세한 내용을 확인하세요.

이 옵션은 재해 복구만을 목적으로 하는 덤프에는 유용하지 않습니다. 원본 데이터베이스가 계속 업데이트되는 동안 보고 또는 기타 읽기 전용 로드 공유를 위해 데이터베이스 복사본을 로드하는 데 사용되는 덤프에 유용할 수 있습니다. 이것이 없으면 덤프는 결국 커밋된 트랜잭션의 직렬 실행과 일치하지 않는 상태를 반영할 수 있습니다. 예를 들어 일괄 처리 기술을 사용하는 경우 일괄 처리에 포함된 모든 항목이 표시되지 않은 채 일괄 처리가 덤프에서 닫힌 것으로 표시될 수 있습니다.

pg_dump가 시작될 때 활성화된 읽기-쓰기 트랜잭션이 없으면 이 옵션은 아무런 차이가 없습니다. 읽기-쓰기 트랜잭션이 활성화된 경우 덤프 시작이 무한정 지연될 수 있습니다. 일단 실행되면 스위치 유무에 관계없이 성능은 동일합니다.

--스냅샷=스냅샷 이름

데이터베이스 덤프를 만들 때 지정된 동기화된 스냅샷을 사용합니다(참조표 9.87자세한 내용은).

이 옵션은 덤프를 논리적 복제 슬롯과 동기화해야 할 때 유용합니다(참조PostgreSQL : 문서 : 12 : 48 장 윈 토토 디코딩) 또는 동시 세션을 통해.

병렬 덤프의 경우이 옵션으로 정의 된 스냅 샷 이름은 새 스냅 샷을 사용하지 않고 사용됩니다.

--엄격한 이름

각 스키마(-n/--스키마) 및 테이블(-t/--테이블) Qualifier DATEBASE의 적어도 하나의 스키마/테이블을 일치시킵니다. 스키마/테이블 예선이 일치를 찾지 않으면pg_dump없이도 오류가 발생합니다--- 스트릭-나프.

이 옵션은 다음에 영향을 미치지 않습니다.-n/--제외-스키마, -T/--exclude-table또는--제외 테이블 데이터. 객체와 일치하지 않는 패턴 배제는 오류로 간주되지 않습니다.

--use-set-session-authorization

출력 SQL-표준세션 승인 설정대신 명령소유자 변경객체 소유권을 결정하는 명령입니다. 이렇게 하면 덤프가 더욱 표준과 호환되지만 덤프에 있는 개체 기록에 따라 제대로 복원되지 않을 수 있습니다. 또한, 다음을 사용하여 덤프합니다.세션 승인 설정올바로 복원하려면 확실히 수퍼유저 권한이 필요하지만소유자 변경더 낮은 권한이 필요합니다.

-?
--도움말

도움말 표시pg_dump명령 줄 인수 및 종료.

다음 명령줄 옵션은 데이터베이스 연결 매개변수를 제어합니다.

-ddb이름
-dbname =db이름

연결할 데이터베이스의 이름을 지정합니다. 이는 다음을 지정하는 것과 동일합니다.db이름명령 줄의 첫 번째 비 옵션 인수로서. 그만큼db이름연결 문자열. 그렇다면 연결 문자열 매개 변수는 충돌하는 명령 줄 옵션을 무시합니다.

-h호스트
--호스트=호스트

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

-p포트
--포트=포트

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

-U사용자 이름
--사용자 이름=사용자 이름

연결할 사용자 이름.

-w
--비밀번호 없음

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

-W
--비밀번호

포스pg_dump데이터베이스에 연결하기 전에 비밀번호를 신속하게하려면

이 옵션은 결코 필수가 아닙니다. 왜냐하면pg_dump서버가 비밀번호 인증을 요구하면 자동으로 비밀번호를 묻는 메시지를 표시합니다. 하지만,pg_dump서버가 비밀번호를 원하는지 알아내는 연결 시도를 낭비하게 됩니다. 어떤 경우에는 입력할 가치가 있습니다.-w추가 연결 시도를 피하기 위해.

-role =역할 이름

덤프를 생성하는 데 사용할 역할 이름을 지정합니다. 이 옵션으로 인해pg_dumpa를 발행하다역할 설정 역할 이름56637_56737-U)에 필요한 권한이 부족합니다.pg_dump이지만 필요한 권리로 역할로 전환 할 수 있습니다. 일부 설치에는 슈퍼 사용자로 직접 로그인하는 것에 대한 정책이 있으며이 옵션을 사용하여 정책을 위반하지 않고 덤프를 만들 수 있습니다.

환경

pgdatabase
PGHOST
PGOPTIONS
pgport
PGUSER

기본 연결 매개변수.

PG_COLOR

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

이 유틸리티는 대부분의 다른 유틸리티와 같습니다.PostgreSQL유틸리티는 다음에서 지원하는 환경 변수도 사용합니다.libpq(참조PostgreSQL : 문서 : 12 : 33.14. 환경 토토 핫).

진단

pg_dump내부적으로 실행선택문장. 실행에 문제가 있는 경우pg_dump, 예를 들어를 사용하여 데이터베이스에서 정보를 선택할 수 있는지 확인하십시오.PSQL. 또한, 기본 연결 설정 및 환경 변수는libpq프런트엔드 라이브러리가 적용됩니다.

데이터베이스 활동pg_dump은 일반적으로 통계 수집기에 의해 수집됩니다. 이것이 바람직하지 않은 경우 매개변수를 설정할 수 있습니다.track_counts거짓으로PGOPTIONS또는ALTER 사용자명령.

참고

데이터베이스 클러스터에 로컬 추가사항이 있는 경우템플릿1데이터베이스, 출력을 복원할 때 주의하세요pg_dump진정으로 빈 데이터베이스로; 그렇지 않으면 추가 된 객체의 중복 정의로 인해 오류가 발생할 수 있습니다. 로컬 추가없이 빈 데이터베이스를 만들려면에서 복사하십시오.템플릿0아님Template1, 예:

템플릿 template0으로 foo 데이터베이스 생성;

데이터 전용 덤프가 선택되고 옵션-disable-triggerspg_dump데이터를 삽입하기 전에 사용자 테이블의 트리거를 비활성화하기 위해 명령을 제출 한 다음 데이터를 삽입 한 후에 명령을 다시 활성화합니다. 복원이 중간에 정지되면 시스템 카탈로그가 잘못된 상태로 남을 수 있습니다.

다음에 의해 생성된 덤프 파일pg_dump쿼리 계획 결정을하기 위해 Optimizer가 사용하는 통계가 포함되어 있지 않습니다. 따라서 실행하는 것이 현명합니다분석최적의 성능을 보장하기 위해 덤프 파일에서 복원한 후; 보다섹션 24.1.3and섹션 24.1.6더 많은 정보를 원하시면.

왜냐하면pg_dump는 데이터를 최신 버전으로 전송하는 데 사용됩니다포스트그레SQL, 출력pg_dump다음에 로드될 것으로 예상됩니다.postgresql다음보다 최신 서버 버전pg_dump의 버전입니다.pg_dump다음에서 덤프할 수도 있음포스트그레SQL자체 버전보다 오래된 서버. (현재 버전 8.0으로의 서버가 지원됩니다.) 그러나pg_dump다음에서 덤프할 수 없습니다.포스트그레SQL서버가 자체 주요 버전보다 최신 버전입니다. 유효하지 않은 덤프를 만드는 위험을 감수하기보다는 시도조차 거부합니다. 또한, 다음을 보장하지 않습니다.pg_dump'의 출력은 이전 주요 버전의 서버에 로드될 수 있습니다. 해당 버전의 서버에서 덤프를 가져온 경우에도 마찬가지입니다. 이전 서버에 덤프 파일을 로드하려면 이전 서버에서 이해하지 못하는 구문을 제거하기 위해 덤프 파일을 수동으로 편집해야 할 수도 있습니다. 의 사용--인용-모든 식별자이 옵션은 다양한 예약어 목록으로 인해 발생하는 문제를 방지할 수 있으므로 버전 간 경우에 권장됩니다.포스트그레SQL버전.

논리적 복제 구독을 덤프할 때,pg_dump생성구독 작성다음을 사용하는 명령연결 = 거짓옵션을 사용하면 구독을 복원해도 복제 슬롯 생성이나 초기 테이블 복사를 위한 원격 연결이 이루어지지 않습니다. 이렇게 하면 원격 서버에 대한 네트워크 액세스 없이 덤프를 복원할 수 있습니다. 그런 다음 적절한 방법으로 구독을 다시 활성화하는 것은 사용자의 몫입니다. 관련 호스트가 변경된 경우 연결 정보를 변경해야 할 수도 있습니다. 새로운 전체 테이블 복사를 시작하기 전에 대상 테이블을 자르는 것이 적절할 수도 있습니다.

다음 데이터베이스를 덤프하려면mydbSQL 스크립트 파일로 :

$ pg_dump mydb  db.sql

이러한 스크립트를 (새로 생성된) 데이터베이스에 다시 로드하려면NewDB:

$ psql -d newdb -f db.sql

데이터베이스를 사용자 정의 형식 아카이브 파일로 덤프하려면:

$ pg_dump -fc mydb db.dump

디렉토리 형식 아카이브에 데이터베이스를 덤프하려면 :

$ pg_dump -Fd mydb -f dumpdir

5개의 작업자 작업과 동시에 데이터베이스를 디렉토리 형식 아카이브로 덤프하려면:

$ pg_dump -Fd mydb -j 5 -f dumpdir

다음 이름의 (새로 생성된) 데이터베이스에 아카이브 파일을 다시 로드하려면newdb:

$ pg_restore -d newdb db.dump

아카이브 파일을 덤프된 동일한 데이터베이스에 다시 로드하고 해당 데이터베이스의 현재 내용을 삭제하려면:

$ pg_restore -d postgres --clean --create db.dump

이름이 지정된 단일 테이블을 덤프하려면마이탭:

$ pg_dump -t mytab mydb  db.sql

이름이 다음으로 시작하는 모든 테이블을 덤프하려면empin디트로이트스키마, 이름이 지정된 테이블 제외employee_log:

$ pg_dump -t 'detroit.emp*' -T detroit.employee_log mydb  db.sql

이름이 다음으로 시작하는 모든 스키마를 덤프하려면동쪽또는서쪽다음으로 끝남gsm, 이름이 포함 된 스키마 제외테스트:

$ pg_dump -n 'east*gsm' -n 'west*gsm' -N '*test*' mydb  db.sql

동일합니다. 스위치를 통합하기 위해 정규식 표기법을 사용합니다.

$ pg_dump -n '(east|west)*gsm' -N '*test*' mydb  db.sql

이름으로 시작하는 테이블을 제외한 모든 데이터베이스 개체를 덤프하려면ts_:

$ pg_dump -T 'ts_*' mydb  db.sql

대문자 또는 대소문자 혼합 이름을 지정하려면-t및 관련 스위치의 경우 이름을 큰따옴표로 묶어야 합니다. 그렇지 않으면 소문자로 접혀집니다(참조패턴). 그러나 큰따옴표는 쉘에 특수하므로 차례로 인용해야 합니다. 따라서 대소문자가 혼합된 이름으로 단일 테이블을 덤프하려면 다음과 같은 것이 필요합니다.

$ pg_dump -t "\"MixedCaseName\"" mydb  mytab.sql