pg_dump는 유틸리티입니다 저장PostgreSQL토토 캔 스크립트 또는 아카이브 파일로. 스크립트 파일이 있습니다 일반 텍스트 형식 및 필요한 SQL 명령을 포함합니다 토토 캔를 당시 상태로 재구성 저장되었습니다. 이 스크립트를 복원하려면 사용PSQL. 그들 다른 시스템에서도 토토 캔를 재구성하는 데 사용할 수 있습니다. 다른 아키텍처, 다른 아키텍처 SQL 토토 캔 제품.
또한 대체 아카이브 파일 형식이 있습니다 와 함께 사용됩니다.PG_RESTORE토토 캔를 재건하려면 그들은 또한 허용PG_RESTORE복원 된 항목에 대해 선택적이거나 항목을 재정렬하기까지 복원하기 전에. 아카이브 파일도 설계되었습니다 아키텍처 전체에서 휴대 할 수 있습니다.
pg_dump모든 사용자 정의 유형을 재생하는 데 필요한 정보, 기능, 표, 인덱스, 집계 및 연산자. ~ 안에 추가, 모든 데이터는 텍스트 형식으로 복사되어 다시 쉽게 복사하고 도구로 가져올 수 있습니다. 편집 용.
아카이브 파일 형식 중 하나 및 결합 된 경우
와 함께PG_RESTORE, pg_dump유연한 아카이브를 제공합니다
전송 메커니즘.pg_dumpcan
전체 토토 캔를 백업하는 데 사용됩니다.PG_RESTORE를 검사하는 데 사용할 수 있습니다
아카이브 및/또는 토토 캔의 어떤 부분이 있는지 선택하십시오.
복원. 가장 유연한 출력 파일 형식은입니다."Custom"형식 (-fc
). 선택 및 재주문이 가능합니다
모든 보관 된 품목이며 기본적으로 압축됩니다. 그만큼타르형식 (-ft
) IS
압축되지 않고 데이터를 재주문 할 수 없습니다.
로딩이지만 그렇지 않으면 매우 유연합니다. 또한, 그럴 수 있습니다
과 같은 다른 도구로 조작타르.
가동 중pg_dump경고 (표준 오류로 인쇄)에 대한 출력을 검사하고, 특히 아래에 나열된 제한 사항에 비추어.
pg_dump일관성을 유지합니다 토토 캔를 동시에 사용하는 경우에도 백업.pg_dump다른 것을 차단하지 않습니다 토토 캔에 액세스하는 사용자 (독자 또는 작가)
다음 명령 줄 옵션은 제어하는 데 사용됩니다 출력 형식.
덤프 할 데이터베이스의 이름을 지정합니다. 이 경우 지정되지 않음, 환경 변수pgdatabase사용됩니다. 그것이 설정되지 않은 경우, 연결에 지정된 사용자 이름이 사용됩니다.
-a
-데이터 전용
스키마가 아닌 데이터 만 덤프합니다 (데이터 정의).
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 다른 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
-B
-Blobs
덤프에 큰 물체 포함.
-c
-Clean
DROP (DROP) 데이터베이스 개체를 이전에 출력합니다 (명령)를 만들기 위해.
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 다른 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
-c
-Create
토토 캔를 생성하기 위해 명령으로 출력을 시작합니다. 자체 및 생성 된 토토 캔에 다시 연결하십시오. (a 이 형식의 스크립트, 어떤 토토 캔가 중요하지 않습니다. 스크립트를 실행하기 전에 연결하십시오.)
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 다른 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
-d
-inserts
덤프 데이터로삽입명령 (대신copy). 이것은 만들 것입니다 복원은 매우 느리지 만 아카이브를 더 많이 만듭니다 다른 SQL 토토 캔 패키지에 휴대용.
-d
-Column-Inserts
-attribute-inserts
덤프 데이터로삽입명령 명시 적 열 이름 (삽입테이블(열, ...) 값 ...). 이것 복원을 매우 느리게 만들지 만 열 주문을 재정렬하려는 욕구.
-f파일
-파일 =파일
지정된 파일로 출력을 전송합니다. 이것이 생략되면 표준 출력이 사용됩니다.
-f형식
-Format =형식
출력 형식을 선택합니다.형식중 하나 일 수 있습니다 수행원:
일반 텍스트 출력SQL스크립트 파일 (기본값)
출력 a타르아카이브 입력에 적합PG_RESTORE. 이 아카이브 사용 형식은 스키마의 재정렬 및/또는 제외를 허용합니다 데이터베이스가 복원 될 때 요소. 그것은 어떤 데이터를 다시로드 하든지 제한 할 수도 있습니다 시간 복원.
입력에 적합한 사용자 정의 아카이브 출력PG_RESTORE. 이것은 가장 유연한 형식은 재정렬을 허용한다는 점에서 가장 유연한 형식입니다 스키마 요소뿐만 아니라 데이터로드 이 형식 기본적으로 압축됩니다.
-i
-ignore-version
버전 불일치 무시pg_dump및 토토 캔 서버.
pg_dump처리 할 수 있습니다 PostgreSQL의 이전 릴리스의 데이터베이스이지만 매우 오래된 버전은 더 이상 지원되지 않습니다 (현재 이전에는 이전입니다 7.0). 버전을 재정의 해야하는 경우이 옵션을 사용하십시오. 확인 (및 ifpg_dump그런 다음 실패, 당신이 경고하지 않았다고 말하지 마십시오).
-o
-이드
덤프 객체 식별자 (OIDs) 모든 테이블에 대해. 이 옵션을 사용하십시오 응용 프로그램이 어떤 식으로 OID 열을 참조하는 경우 (예 : 외국의 주요 제약 조건에서). 그렇지 않으면이 옵션 사용해서는 안됩니다.
-o
---소유자
객체 소유권을
원래 토토 캔와 일치합니다. 일반적으로,pg_dump이슈 (PSQL-specific)\ connect소유권을 설정하기위한 진술
스키마 요소. 아래 참조-r
and-x
유용 세션 증명
. 참고-o
모든 것을 방해하지는 않습니다
토토 캔에 대한 재 연결
소유권 조정에만 독점적으로 사용됩니다.
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 다른 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
-r
-no-reconnect
금지pg_dump다시 연결 해야하는 스크립트를 출력합니다
복원 중에 데이터베이스. 평균 복원
스크립트는 일반적으로 여러 번 다른 여러 번 다시 연결해야합니다
사용자는 객체의 원래 소유자를 설정합니다. 이것
옵션은 다소 무딘 악기입니다pg_dump이것을 잃습니다
소유권 정보,당신은를 사용합니다-x
유용 세션 증명
옵션.
복원 중 재 연결 가능한 이유 중 하나 토토 캔에 대한 액세스가 필요하지 않을 수 있습니다. 수동 상호 작용 (예 : 비밀번호)이 필요합니다.
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 다른 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
-s
--- 스키마 전용
스키마 만 덤프 (데이터 정의), 데이터 없음
-s사용자 이름
--- 서퍼 루서 =사용자 이름
비활성화시 사용할 슈퍼 사용자 사용자 이름을 지정하십시오
트리거. 이것은 단지 관련이 있다면-disable-triggers
사용됩니다. (보통, 그것은입니다
지정하는 것이 좋습니다-서지 세션 증명
결과 스크립트를 슈퍼업자로 시작하십시오.)
-t테이블
---table =테이블
덤프 데이터테이블만.
-v
-Versbose
정점 모드를 지정합니다. 이로 인해pg_dump진행 메시지를 인쇄하려면 표준 오류.
-x
--불안정
---- 아카클
액세스 권한의 덤핑 방지 (Grant/Revoke 명령).
-x
유용 세션 증명
-서지 세션 증명
일반적으로, (일반 텍스트 모드) 스크립트가 생성 한 경우pg_dump변경해야합니다
현재 데이터베이스 사용자 (예 : 올바른 개체를 설정하려면
ownerships), 그것은를 사용합니다.PSQL \ connect명령. 이 명령은 실제로 새로운 연결을 엽니 다.
수동 상호 작용 (예 : 비밀번호)이 필요할 수 있습니다.
를 사용하는 경우-x
유용 세션 증명
옵션,pg_dump대신
산출세션 설정
권한 부여명령. 이것은 같은 효과를 가지고 있지만
사용자가 데이터베이스를 복원해야합니다.
생성 된 스크립트는 데이터베이스 슈퍼 사용자입니다. 이 옵션
효과적으로-r
옵션.
이후세션 설정 권한 부여표준 SQL 명령이지만\ connectPSQL,이 옵션도 있습니다 출력의 이론적 휴대 성을 향상시킵니다 스크립트.
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 다른 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
-X 비활성화 트리거
-disable-triggers
이 옵션은 데이터 전용을 만들 때만 관련이 있습니다 덤프. 지시pg_dump일시적으로 트리거를 비활성화하는 명령을 포함합니다 데이터가 다시로드되는 동안 대상 테이블. 당신이 이것을 사용하십시오 참조 무결성 검사 또는 기타 트리거가 있습니다 데이터 중에 호출하고 싶지 않은 테이블 Reload.
현재, 명령은-disable-triggers
슈퍼 유행자. 따라서 SuperUser 이름도 지정해야합니다
와 함께-s
또는 바람직하게는-서지 세션 증명
그런 다음 결과 스크립트를
슈퍼 유행자. 옵션을 제공하지 않으면 전체 스크립트가 있습니다
슈퍼업자로 실행해야합니다.
이 옵션은 일반 텍스트에만 의미가 있습니다 체재. 다른 형식의 경우 옵션을 지정할 수 있습니다 전화 할 때PG_RESTORE.
-z0..9
-코프 프레스 =0..9
아카이브 형식으로 사용할 압축 수준을 지정하십시오 이는 압축을 지원합니다 (현재 사용자 정의 아카이브 만 형식은 압축을 지원합니다).
다음 명령 줄 옵션은 데이터베이스를 제어합니다 연결 매개 변수.
-hhost
-host =host
기계의 호스트 이름을 지정합니다. 서버가 실행 중입니다. 호스트가 슬래시로 시작하면 사용됩니다 UNIX 도메인 소켓의 디렉토리로.
-p포트
-포트 =포트
인터넷 TCP/IP 포트 또는 로컬 UNIX 도메인을 지정합니다 서버가 듣고있는 소켓 파일 확장 사이. 포트 번호는 기본적으로 5432 또는 값으로 기본적으로 표시됩니다 의pgport환경 변수 (설정된 경우).
-u사용자 이름
주어진 사용자로 연결
-w
암호 프롬프트를 강제로합니다. 이것은 일어날 것입니다 서버에 비밀번호가 필요한 경우 자동으로 입증.
긴 옵션 양식은 일부 플랫폼에서만 사용할 수 있습니다.
데이터베이스 'Template1'에 대한 연결이 실패했습니다. ConnectDBStart () - Connect () 실패 : 해당 파일 또는 디렉토리가 없습니다 우체국 장은 현지에서 실행 중입니다 UNIX 소켓 '/TMP/.S.SGSQL.5432'?에서 연결을 수락합니다.
pg_dump첨부 할 수 없습니다 지정된 호스트 및 포트의 PostgreSQL 서버. 당신이 이 메시지를보고 서버가 실행 중인지 확인하십시오. 적절한 호스트와 적절한 포트를 지정했습니다.
참고 : pg_dump내부 실행select진술. 실행하는 데 문제가있는 경우pg_dump, 당신이 할 수 있는지 확인하십시오 예를 들어를 사용하여 토토 캔에서 정보를 선택하십시오.PSQL.
설치에 템플릿에 로컬 추가가있는 경우 1 토토 캔,의 출력을 복원하도록주의하십시오.pg_dump진정으로 빈 토토 캔로; 그렇지 않으면 복제로 인해 오류가 발생할 수 있습니다. 추가 된 객체의 정의. 빈 토토 캔를 만들기 위해 로컬 추가가 없으면 Template1이 아닌 Template0에서 복사하십시오. 예를 들어:
템플릿 템플릿을 사용하여 토토 캔 foo 생성;
pg_dump몇 가지가 있습니다 제한 사항 :
단일 테이블을 버릴 때 또는 일반 텍스트로pg_dump큰 물체를 처리하지 않습니다. 큰 물체는 하나를 사용하여 전체적으로 버려야합니다. 이진 아카이브 형식.
데이터를 수행 할 때 전용 덤프,pg_dump비활성화하기 위해 쿼리를 제출합니다 데이터 및 쿼리를 삽입하기 전에 사용자 테이블을 트리거합니다. 데이터가 삽입 된 후에 다시 활성화합니다. 만약 복원은 중간에 중지되며 시스템 카탈로그는 잘못된 상태로 남겨졌습니다.
TAR Archives의 구성원은 8GB 미만의 크기로 제한됩니다. (이것은 TAR 파일 형식의 고유 한 제한입니다.) 따라서 텍스트 인 경우이 형식을 사용할 수 없습니다 테이블의 표현은 그 크기를 초과합니다. a의 총 크기 TAR 아카이브 및 기타 출력 형식은 제한되지 않습니다. 운영 체제를 제외하고.