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

pg_dumpall

pg_dumpall - 추출 aPostgreSQL지정된 덤프 형식을 사용하는 토토 캔 클러스터

시놉시스

pg_dumpall[Connection-Option...] [옵션...]

설명

pg_dumpall작성을위한 유틸리티입니다 (덤핑) 모두PostgreSQL아카이브에 클러스터의 토토 캔. 아카이브에는SQL입력으로 사용할 수있는 명령PSQL토토 캔를 복원하려면. 전화를 통해 이것을합니다pg_dump클러스터의 각 토토 캔에 대해pg_dumpall또한 모든 토토 캔, 즉 구성 매개 변수에 대한 토토 캔 역할, 테이블 스페이스 및 권한 보조금에 공통적 인 글로벌 객체를 덤프합니다. (pg_dump이 개체를 저장하지 않습니다.)

이후pg_dumpall모든 토토 캔에서 테이블을 읽습니다. 완전한 덤프를 생성하기 위해 토토 캔 슈퍼 사용자로 연결해야 할 가능성이 높습니다. 또한 역할을 추가하고 토토 캔를 만들려면 저장된 스크립트를 실행하려면 슈퍼 사용자 권한이 필요합니다.

일반 텍스트 SQL 스크립트는 표준 출력에 기록됩니다. 사용-f/-파일파일로 리디렉션하려면 옵션 또는 쉘 연산자입니다.

다른 형식의 아카이브는를 사용하여 이름이 지정된 디렉토리에 배치됩니다.-f/-파일,이 경우에 필요합니다.

pg_dumpall여러 번 연결해야PostgreSQL서버 (토토 캔 당 한 번). 비밀번호 인증을 사용하면 매번 암호를 요구합니다. A가있는 것이 편리합니다.~/.pgpass그러한 경우 파일. 보다메이저 토토 사이트 : 문서 : 18 : 32.16. 암호 파일자세한 내용은

옵션

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

-a
-데이터 전용

스키마 (데이터 정의) 또는 통계가 아닌 데이터 만 덤프합니다.

-c
-Clean

SQL 명령을 방출드롭덤프 된 모든 토토 캔, 역할 및 테이블 스페이스를 재현하기 전에. 이 옵션은 복원이 기존 클러스터를 덮어 쓰는 경우 유용합니다. 대상 클러스터에 객체 중 하나가 존재하지 않으면 복원 중에 무시할 수있는 오류 메시지가보고됩니다.-IF-Exists지정되어 있습니다.

-e인코딩
-encoding =인코딩

지정된 문자 세트 인코딩에서 덤프를 만듭니다. 기본적으로 덤프는 토토 캔 인코딩에서 생성됩니다. (같은 결과를 얻는 또 다른 방법은를 설정하는 것입니다.pgclientencoding원하는 덤프 인코딩에 대한 환경 변수.)

-ffilename
-파일 =filename

지정된 파일로 출력을 전송합니다. 이것이 생략되면 표준 출력이 사용됩니다. 참고 :이 옵션은 일 때만 생략 할 수 있습니다.-Format

-f형식
-format =형식

덤프 파일의 형식을 지정합니다. 일반 형식으로 모든 덤프 데이터는 단일 텍스트 스트림으로 전송됩니다. 이것은 기본값입니다. 다른 모든 모드에서pg_dumpall첫 번째 파일을 생성합니다.Global.datandmap.dat,에서 지정된 디렉토리-파일. 첫 번째 파일에는 역할 및 테이블 스페이스와 같은 전역 데이터가 포함되어 있습니다. 두 번째에는 토토 캔 OID와 이름 사이의 매핑이 포함되어 있습니다. 이 파일은에 의해 사용됩니다.PG_RESTORE. 개별 토토 캔에 대한 데이터는에 배치됩니다.토토 캔토토 캔를 사용하여 지명 된 하위 디렉토리OID.

d
디렉토리

각 토토 캔에 대한 출력 디렉토리 형식 아카이브는 PG_RESTORE에 입력하기에 적합합니다. 디렉토리에는 토토 캔가 있습니다OID그 이름으로.

P
일반

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

C
Custom

PG_RESTORE에 입력하는 데 적합한 각 토토 캔에 대한 사용자 정의 아카이브를 출력합니다. 아카이브는 이름이 지정됩니다dboid.dmp여기서dboidOID토토 캔.

t
타르

PG_RESTORE에 입력하기에 적합한 각 토토 캔에 대한 TAR- 형식 아카이브를 출력합니다. 아카이브는 이름이 지정됩니다dboid.tar여기서dboidOID토토 캔.

참고 : 참조pg_dump다양한 비 일반 텍스트 아카이브 작동 방식에 대한 자세한 내용은

-g
-글로벌 전용

글로벌 객체 만 덤프 (역할 및 테이블 스페이스), 토토 캔 없음

-o
---소유자

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

-r
-롤리

덤프 역할, 토토 캔 또는 테이블 스페이스가 없습니다.

-s
--- 스키마 전용

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

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

트리거를 비활성화 할 때 사용할 슈퍼 사용자 사용자 이름을 지정하십시오. 이것은 만 관련이 있습니다.20116_20136사용됩니다. (일반적으로 이것을 남겨두고 대신 결과 스크립트를 슈퍼업자로 시작하는 것이 좋습니다.)

-t
--- 테이블 스페이스 전용

덤프 테이블 스페이스, 토토 캔 또는 역할 없음

-v
-Versbose

정점 모드를 지정합니다. 이로 인해pg_dumpall덤프 파일에 시작/중지 시간을 출력하고 표준 오류로 메시지를 진행합니다. 옵션을 반복하면 표준 오류에 추가 디버그 레벨 메시지가 나타납니다. 옵션도 전달됩니다.pg_dump.

-v
-버전

인쇄pg_dumpall버전 및 종료.

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

액세스 권한 덤핑 방지 (Grant/Revoke 명령).

-이진 업그레이드

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

-Column-Inserts
-attribute-inserts

덤프 데이터로삽입명시 적 열 이름이있는 명령 (삽입테이블(, ...) 값 ...). 이것은 복원을 매우 느리게 만듭니다. 주로 비에로드 할 수있는 덤프를 만드는 데 유용합니다PostgreSQL토토 캔.

-disable-dollar-quoting

이 옵션은 기능 본체에 대한 달러 인용을 비활성화하고 SQL 표준 문자열 구문을 사용하여 인용하도록 강요합니다.

-disable-triggers

이 옵션은 데이터가있는 덤프를 만들거나 스키마가없는 덤프를 만들 때만 관련이 있습니다. 지시pg_dumpall데이터가 복원되는 동안 대상 테이블의 트리거를 일시적으로 비활성화하는 명령을 포함합니다. 데이터 복원 중에 호출하고 싶지 않은 테이블에 참조 무결성 검사 또는 기타 트리거가있는 경우

현재, 명령은-disable-triggers슈퍼 유저로 수행해야합니다. 따라서의 슈퍼 유저 이름도 지정해야합니다.-s

--exclude-database =패턴

이름이 일치하는 토토 캔를 덤프하지 마십시오패턴. 여러 패턴은 다중 쓰기로 제외 될 수 있습니다--exclude-database스위치. 그만큼패턴매개 변수는에 의해 사용 된 것과 동일한 규칙에 따라 패턴으로 해석됩니다.PSQL's\ d명령 (참조패턴), 따라서 패턴에 와일드 카드 문자를 작성하여 여러 토토 캔를 제외 할 수도 있습니다. 와일드 카드를 사용할 때는 쉘 와일드 카드 확장을 방지하는 데 필요한 경우 패턴을 인용하십시오.

--extra-float-digits =ndigits

사용 가능한 최대 정밀도 대신 플로팅 지점 데이터를 덤프 할 때 extra_float_digits의 지정된 값을 사용하십시오. 백업 목적으로 만든 일상적인 덤프는이 옵션을 사용해서는 안됩니다.

-필터 =filename

덤프에서 제외 된 토토 캔의 패턴을 읽을 수있는 파일 이름을 지정합니다. 패턴은와 같은 규칙에 따라 해석됩니다.--exclude-database. 에서 읽으려면Stdin, 사용-파일 이름으로. 그만큼-필터옵션은와 함께 지정할 수 있습니다--exclude-database토토 캔를 제외하고 여러 필터 파일에 대해 두 번 이상 지정할 수 있습니다.

파일에는 다음 형식으로 행당 하나의 토토 캔 패턴을 나열합니다.

토토 캔 제외패턴

로 시작하는 줄#댓글로 간주되고 무시됩니다. 객체 패턴 행 후에도 주석을 배치 할 수 있습니다. 빈 줄도 무시됩니다. 보다패턴패턴으로 인용하는 방법.

-IF-Exists

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

-inserts

덤프 데이터로삽입명령 (COPY). 이것은 복원을 매우 느리게 만듭니다. 주로 비에로드 할 수있는 덤프를 만드는 데 유용합니다PostgreSQL토토 캔. 열 순서를 재정렬하면 복원이 완전히 실패 할 수 있습니다. 그만큼-Column-Inserts옵션은 더 안전합니다.

-Load-Via-Partition-Root

테이블 파티션에 대한 데이터를 덤프 할 때를 만드십시오.COPY또는삽입진술은 파티션 자체가 아닌 파티션 계층의 근본을 대상으로합니다. 이로 인해 데이터가로드 될 때 각 행에 적절한 파티션이 다시 결정됩니다. 이는 행이 원래 서버에서 한 것과 동일한 파티션에 항상 떨어지지 않는 서버에서 데이터를 복원 할 때 유용 할 수 있습니다. 예를 들어, 파티션 열이 유형 텍스트이고 두 시스템이 파티션 열을 정렬하는 데 사용되는 Collation의 다른 정의를 갖는 경우.

-로크-웨이트 타임 아웃 =타임 아웃

덤프 시작시 공유 테이블 잠금 장치를 영원히 기다리지 마십시오. 대신 지정된 내에서 테이블을 잠글 수 없으면 실패타임 아웃. 타임 아웃은에 의해 수락 된 형식 중 하나에 지정 될 수 있습니다.set state_timeout.

-no-comments

덤프하지 마십시오댓글명령.

-no-data

데이터를 덤프하지 마십시오.

-no-policies

덤프 행 보안 정책을 덤프하지 마십시오.

--공개

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

--롤-파스 워드

역할에 대한 비밀번호를 덤프하지 마십시오. 복원되면 역할에는 널 비밀번호가 있으며 비밀번호가 설정 될 때까지 암호 인증이 항상 실패합니다. 이 옵션이 지정 될 때 비밀번호 값이 필요하지 않으므로 역할 정보는 카탈로그보기에서 읽습니다.PG_ROLES대신pg_authid. 따라서이 옵션은 액세스에 도움이됩니다pg_authid일부 보안 정책에 의해 제한됩니다.

-no-schema

스키마를 덤프하지 마십시오 (데이터 정의).

-No-Security-Labels

보안 레이블을 덤프하지 마십시오.

-No-Statics

통계를 덤프하지 마십시오.

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

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

-no-sync

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

--테이블 액세스-메드

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

-no-tableSpaces

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

---투스트-압축

명령을 설정하지 마십시오토스트압축 방법. 이 옵션을 사용하면 모든 열이 기본 압축 설정으로 복원됩니다.

-no-unlogged-table-data

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

-onflict-do-nothing

add갈등에 대한 일은 아무것도 없습니다to삽입명령. 이 옵션은이 아니라면 유효하지 않습니다.-inserts또는-Column-Inserts지정되어 있습니다.

-quote-all-eLidiers

모든 식별자의 힘 견적. 이 옵션은 서버에서 토토 캔를 덤프 할 때 권장됩니다.PostgreSQL메이저 버전은와 다릅니다.pg_dumpall's 또는 출력이 다른 주요 버전의 서버에로드되도록 의도 된 경우. 기본적으로PG_DUMPALL자체 주요 버전의 예약 된 단어 인 식별자 만 인용합니다. 이로 인해 약간 다른 예약 단어 세트가있을 수있는 다른 버전의 서버를 다룰 ​​때 호환성 문제가 발생합니다. 사용-Quote-all-Idnifiers읽기 어려운 덤프 스크립트의 가격으로 이러한 문제를 방지합니다.

-rows-per-insert =nrows

덤프 데이터 as삽입명령 (COPY). 최대 행 수를 제어합니다삽입명령. 지정된 값은 0보다 큰 값이어야합니다. 복원 중 오류는 문제가되는 행만 만 발생합니다삽입전체 테이블 내용이 아닌 손실 될 예정입니다.

-스테이션 전용

스키마 (데이터 정의) 또는 데이터가 아닌 통계 만 덤프합니다. 테이블, 구체화 된 뷰 및 인덱스에 대한 통계가 버려집니다.

-서지 세션 증명

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

-with-data

덤프 데이터. 이것은 기본입니다.

-with-schema

덤프 스키마 (데이터 정의). 이것은 기본입니다.

---- 스테이션 스틱

덤프 통계. 이것은 기본입니다.

-?
-헬프

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

다음 명령 줄 옵션은 토토 캔 연결 매개 변수를 제어합니다.

-dconnstr
-dbname =connstr

서버에 연결하는 데 사용되는 매개 변수를 지정합니다.연결 문자열; 충돌하는 명령 줄 옵션을 무시합니다.

옵션은입니다.-dbname다른 클라이언트 애플리케이션과의 일관성이 있지만pg_dumpall많은 토토 캔에 연결해야합니다. 연결 문자열의 토토 캔 이름은 무시됩니다. 사용-l초기 연결에 사용되는 토토 캔 이름을 지정하는 옵션은 전역 객체를 버리고 다른 토토 캔를 버려야 할 다른 토토 캔를 발견합니다.

-hhost
-host =호스트

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

-ldbname
-database =dbname

글로벌 객체를 덤프하기 위해 연결할 토토 캔 이름을 지정하고 다른 토토 캔를 버려야 할 다른 토토 캔를 발견합니다. 지정되지 않은 경우Postgres토토 캔가 사용되며 그것이 존재하지 않는 경우Template1사용됩니다.

-p포트
-포트 =포트

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

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

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

-w
-no-password

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

-w
--password

pg_dumpall토토 캔에 연결하기 전에 비밀번호를 프롬프트하려면

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

각 토토 캔가 덤프 될 때마다 암호 프롬프트가 다시 발생합니다. 일반적으로 A를 설정하는 것이 좋습니다.~/.pgpass수동 비밀번호 항목에 의존하는 것보다 파일

-role =rolename

덤프를 만드는 데 사용할 역할 이름을 지정합니다. 이 옵션은pg_dumpalla를 발행하려면역할 설정 rolename토토 캔에 연결 한 후 명령. 인증 된 사용자 (에 의해 지정 될 때 유용합니다.-u) 필요한 특권 부족pg_dumpall그러나 필요한 권리로 역할로 전환 할 수 있습니다. 일부 설치에는 슈퍼 사용자로 직접 로그인하는 정책이 있으며이 옵션을 사용하여 정책을 위반하지 않고 덤프를 만들 수 있습니다.

환경

pghost
pgoptions
pgport
PGUSER

기본 연결 매개 변수

pg_color

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

이 유틸리티는 대부분의 다른 유틸리티PostgreSQL유틸리티는 또한 지원하는 환경 변수를 사용합니다libpq(참조PostgreSQL : 문서 : 18 : 32.15. 환경 사설 토토 사이트).

노트

이후pg_dumpallpg_dump내부적으로 일부 진단 메시지가 참조됩니다.pg_dump.

the-Clean옵션은 덤프 스크립트를 신선한 클러스터로 복원하려는 의도가 있더라도 유용 할 수 있습니다. 사용-Clean스크립트가 내장을 삭제하고 재창조 할 수있는 권한Postgrestemplate1토토 캔, 해당 토토 캔가 소스 클러스터에있는 것과 동일한 속성 (예 : 로케일 및 인코딩)을 유지하도록합니다. 옵션이 없으면 해당 토토 캔는 기존 토토 캔 레벨 속성과 기존의 컨텐츠를 유지합니다.

기본적으로pg_dumpall결과 덤프 파일에 대부분의 최적화 통계가 포함됩니다. 그러나 명시 적으로 생성 된 것과 같은 일부 통계는 포함되지 않을 수 있습니다.통계 작성또는 확장자에 의해 추가 된 사용자 정의 통계. 따라서 실행하는 것이 유용 할 수 있습니다분석43299_43400Vacuumdb -a -z모든 토토 캔를 분석하려면

덤프 스크립트는 오류없이 완전히 실행되지 않아야합니다. 특히 스크립트가 발행되기 때문에역할 창출소스 클러스터에 존재하는 모든 역할에 대해서는 A가 확실합니다.역할이 이미 존재합니다대상 클러스터가 다른 부트 스트랩 슈퍼 유행기 이름으로 초기화되지 않는 한 부트 스트랩 슈퍼 사용자의 오류. 이 오류는 무해하며 무시해야합니다. 사용-Clean옵션은 존재하지 않는 객체에 대한 추가 무해한 오류 메시지를 생성 할 가능성이 있지만 추가하여 최소화 할 수 있습니다-If-Exists.

pg_dumpall복원 전에 필요한 모든 테이블 스페이스 디렉토리가 존재해야합니다. 그렇지 않으면 토토 캔 생성이 아닌 위치의 토토 캔에 대한 토토 캔 생성이 실패합니다.

일반적으로 사용하는 것이 좋습니다-x(-no-psqlrc) 옵션 A에서 토토 캔를 복원 할 때pg_dumpall정화 복원 프로세스를 보장하고 비 디폴리와의 잠재적 충돌을 방지하기위한 스크립트PSQL구성. 또한이기 때문에pg_dumpall스크립트 포함PSQL메타 명령, 이외의 클라이언트와 호환되지 않을 수 있습니다PSQL.

예제

모든 토토 캔를 덤프하려면 :

$ pg_dumpall db.out

이 파일에서 토토 캔를 복원하려면 다음을 사용할 수 있습니다.

$ psql -x -f db.out -d postgres

스크립트 파일이 작성한 이후 여기에 어떤 토토 캔를 연결하는지는 중요하지 않습니다.PG_DUMPALL저장된 토토 캔를 작성하고 연결하기위한 적절한 명령이 포함됩니다. 지정한 경우는 예외입니다.-Clean, 당신은에 연결해야합니다.Postgres처음에는 토토 캔; 스크립트는 즉시 다른 토토 캔를 삭제하려고 시도하며 연결된 토토 캔에는 실패합니다.

참조

checkpg_dump가능한 오류 조건에 대한 자세한 내용.