pg_dumpall — 추출 a포스트그레SQL범퍼카 토토 클러스터를 스크립트 파일로
pg_dumpall [연결 옵션...] [옵션...]
pg_dumpall쓰기용 유틸리티입니다(“덤핑”) 모두PostgreSQL클러스터의 데이터베이스를 하나의 스크립트 파일로 만듭니다. 스크립트 파일에는 다음이 포함됩니다.SQL입력으로 사용할 수 있는 명령psql범퍼카 토토를 복원합니다. 이 작업은 호출을 통해 수행됩니다.pg_dump클러스터의 각 범퍼카 토토에 대해.pg_dumpall또한 모든 범퍼카 토토에 공통된 전역 개체, 즉 범퍼카 토토 역할 및 테이블스페이스를 덤프합니다. (pg_dump이 개체를 저장하지 않습니다.)
이후pg_dumpall완전한 덤프를 생성하려면 범퍼카 토토 수퍼유저로 연결해야 할 가능성이 가장 높은 모든 범퍼카 토토에서 테이블을 읽습니다. 또한 역할을 추가하고 범퍼카 토토를 생성하려면 저장된 스크립트를 실행하려면 수퍼유저 권한이 필요합니다.
SQL 스크립트가 표준 출력에 기록됩니다. 다음을 사용하세요.-f/--파일옵션 또는 쉘 연산자를 사용하여 파일로 리디렉션합니다.
pg_dumpall에 여러 번 연결해야 합니다.PostgreSQL서버(범퍼카 토토당 한 번). 비밀번호 인증을 사용하면 매번 비밀번호를 묻습니다. 가 있으면 편리합니다.~/.pgpass12502_12529토토 : 문서 : 13 : 33.15. 암호 파일더 많은 정보를 원하시면.
덤프를 복원하면 대상이 소스 수퍼유저가 선택한 임의의 코드를 실행하게 됩니다. 부분 덤프 및 부분 복원은 이를 제한하지 않습니다. 원본 슈퍼유저를 신뢰할 수 없는 경우 복원하기 전에 덤프된 SQL 문을 검사해야 합니다. 덤프 및 복원을 실행하는 클라이언트는 원본 또는 대상 수퍼유저를 신뢰할 필요가 없습니다.
다음 명령줄 옵션은 출력의 내용과 형식을 제어합니다.
-a--데이터 전용스키마(데이터 정의)가 아닌 데이터만 덤프합니다.
-c--깨끗함SQL 명령을 다음으로 내보냄드롭모든 덤프된 데이터베이스, 역할 및 테이블스페이스를 다시 생성하기 전에 삭제합니다. 이 옵션은 복원이 기존 클러스터를 덮어쓰는 경우에 유용합니다. 대상 클러스터에 객체가 없으면 복원 중에 무시할 수 있는 오류 메시지가 보고됩니다.--존재하는 경우또한 지정되었습니다.
-E인코딩--인코딩=인코딩지정된 문자 집합 인코딩으로 덤프를 생성합니다. 기본적으로 덤프는 데이터베이스 인코딩으로 생성됩니다. (동일한 결과를 얻는 또 다른 방법은 다음을 설정하는 것입니다.PGCLIENTENCODING환경 변수를 원하는 덤프 인코딩으로 설정합니다.)
-f파일 이름--파일=파일 이름지정된 파일로 출력을 보냅니다. 생략하면 표준 출력이 사용됩니다.
-g--전역 전용전역 개체(역할 및 테이블스페이스)만 덤프하고 범퍼카 토토는 덤프하지 않습니다.
-O--소유자 없음객체의 소유권을 원래 범퍼카 토토와 일치하도록 설정하는 명령을 출력하지 마십시오. 기본적으로,pg_dumpall문제소유자 변경또는세션 승인 설정생성된 스키마 요소의 소유권을 설정하는 문. 슈퍼유저(또는 스크립트의 모든 개체를 소유한 동일한 사용자)가 스크립트를 시작하지 않는 한 스크립트가 실행될 때 이러한 문은 실패합니다. 모든 사용자가 복원할 수 있지만 해당 사용자에게 모든 개체에 대한 소유권을 부여하는 스크립트를 만들려면 다음을 지정하십시오.-O.
-r--역할 전용역할만 덤프하고 범퍼카 토토나 테이블스페이스는 덤프하지 않습니다.
-s--스키마 전용데이터가 아닌 개체 정의(스키마)만 덤프합니다.
-S사용자 이름--수퍼유저=사용자 이름트리거를 비활성화할 때 사용할 수퍼유저 사용자 이름을 지정하십시오. 이는 다음과 같은 경우에만 관련됩니다.--비활성화-트리거이 사용됩니다. (일반적으로 이를 생략하고 대신 슈퍼유저로 결과 스크립트를 시작하는 것이 좋습니다.)
-t--테이블스페이스 전용테이블스페이스만 덤프하고 범퍼카 토토나 역할은 덤프하지 않습니다.
-v--상세상세 모드를 지정합니다. 이로 인해 발생합니다pg_dumpall시작/중지 시간을 덤프 파일에 출력하고 메시지를 표준 오류로 진행합니다. 또한 다음에서 자세한 출력을 활성화합니다.pg_dump.
-V--버전인쇄pg_dumpall버전 및 종료.
-x--권한 없음--no-acl액세스 권한 덤프를 방지합니다(부여/취소 명령).
--바이너리-업그레이드이 옵션은 전체 업그레이드 유틸리티에서 사용하기 위한 것입니다. 다른 목적으로 사용하는 것은 권장되거나 지원되지 않습니다. 옵션의 동작은 향후 릴리스에서 예고 없이 변경될 수 있습니다.
--열 삽입--속성-삽입다음으로 데이터 덤프삽입명시적인 열 이름이 있는 명령(INSERT INTO). 이렇게 하면 복원 속도가 매우 느려집니다. 주로 비에 로드할 수 있는 덤프를 만드는 데 유용합니다.포스트그레SQL범퍼카 토토.테이블 (열, ...) 값 ...
--disable-dollar-quoting이 옵션은 함수 본문에 달러 인용 사용을 비활성화하고 SQL 표준 문자열 구문을 사용하여 인용하도록 강제합니다.
--비활성화-트리거이 옵션은 데이터 전용 덤프를 생성할 때만 관련됩니다. 지시한다pg_dumpall데이터가 복원되는 동안 대상 테이블에서 트리거를 일시적으로 비활성화하는 명령을 포함합니다. 데이터 복원 중에 호출하지 않으려는 테이블에 대한 참조 무결성 검사 또는 기타 트리거가 있는 경우 이를 사용하십시오.
현재 다음에 대해 내보낸 명령은--비활성화-트리거수퍼유저로 수행해야 합니다. 따라서 다음을 사용하여 수퍼유저 이름도 지정해야 합니다.-S, 또는 슈퍼유저로 결과 스크립트를 시작하는 데 주의하는 것이 좋습니다.
--제외-범퍼카 토토=패턴이름이 일치하는 범퍼카 토토를 덤프하지 마십시오.패턴. 여러 패턴을 작성하면 여러 패턴을 제외할 수 있습니다--제외-범퍼카 토토스위치.패턴매개변수는 다음에서 사용하는 것과 동일한 규칙에 따라 패턴으로 해석됩니다.psql's\d명령(참조패턴아래), 따라서 패턴에 와일드카드 문자를 작성하여 여러 데이터베이스를 제외할 수도 있습니다. 와일드카드를 사용할 때 쉘 와일드카드 확장을 방지하려면 필요한 경우 패턴을 인용하도록 주의하세요.
--추가 부동 숫자=ndigits부동 소수점 데이터를 덤프할 때 사용 가능한 최대 정밀도 대신 지정된 extra_float_digits 값을 사용하십시오. 백업 목적으로 만들어진 일상적인 덤프에서는 이 옵션을 사용하면 안 됩니다.
--존재하는 경우사용삭제 ... 존재하는 경우객체를 놓는 명령--깨끗함모드. 이것은 억제합니다“존재하지 않습니다”그렇지 않으면 보고될 수 있는 오류입니다. 이 옵션은 다음 경우가 아니면 유효하지 않습니다.--깨끗함또한 지정됩니다.
--삽입다음으로 데이터 덤프삽입명령(대신복사). 이렇게 하면 복원 속도가 매우 느려집니다. 주로 비에 로드할 수 있는 덤프를 만드는 데 유용합니다.포스트그레SQL범퍼카 토토. 열 순서를 다시 정렬한 경우 복원이 완전히 실패할 수 있습니다.--열 삽입옵션은 더 느리지만 더 안전합니다.
--파티션 루트를 통해 로드테이블 파티션에 대한 데이터를 덤프할 때 다음을 수행하십시오.복사또는삽입문은 파티션 자체가 아닌 이를 포함하는 파티션 계층 구조의 루트를 대상으로 합니다. 이로 인해 데이터가 로드될 때 각 행에 대해 적절한 파티션이 다시 결정됩니다. 이는 행이 항상 원래 서버에서와 동일한 파티션에 속하지 않는 서버에서 데이터를 복원할 때 유용할 수 있습니다. 예를 들어 분할 열이 텍스트 유형이고 두 시스템에서 분할 열을 정렬하는 데 사용되는 데이터 정렬에 대해 서로 다른 정의를 사용하는 경우 이런 일이 발생할 수 있습니다.
--잠금-대기-시간 초과=시간 초과덤프 시작 시 공유 테이블 잠금을 획득하기 위해 영원히 기다리지 마십시오. 대신, 지정된 기간 내에서 테이블을 잠글 수 없으면 실패합니다.시간 초과. 시간 초과는 다음에서 허용되는 형식으로 지정할 수 있습니다.SET 문_시간 초과. 허용되는 값은 덤프하는 서버 버전에 따라 다르지만 7.3 이후의 모든 버전에서는 밀리초 단위의 정수가 허용됩니다. 7.3 이전 서버에서 덤프할 때는 이 옵션이 무시됩니다.
--코멘트 없음댓글을 덤프하지 마십시오.
--출판 없음출판물을 버리지 마십시오.
--no-role-passwords역할에 대한 비밀번호를 덤프하지 마십시오. 복원되면 역할은 null 암호를 갖게 되며 암호가 설정될 때까지 암호 인증은 항상 실패합니다. 이 옵션을 지정하면 비밀번호 값이 필요하지 않으므로 카탈로그 뷰에서 역할 정보를 읽습니다.pg_roles대신에pg_authid. 따라서 이 옵션은 다음에 액세스하는 경우에도 도움이 됩니다.pg_authid일부 보안 정책에 의해 제한됩니다.
--보안 라벨 없음보안 라벨을 덤프하지 마십시오.
--구독 없음구독을 덤프하지 마십시오.
--동기화 없음기본적으로,pg_dumpall모든 파일이 디스크에 안전하게 기록될 때까지 기다립니다. 이 옵션으로 인해pg_dumpall기다리지 않고 반환하는 것이 더 빠르지만 후속 운영 체제 충돌로 인해 덤프가 손상될 수 있음을 의미합니다. 일반적으로 이 옵션은 테스트에 유용하지만 프로덕션 설치에서 데이터를 덤프할 때는 사용하면 안 됩니다.
--테이블스페이스 없음테이블스페이스를 생성하는 명령을 출력하지 말고 개체에 대한 테이블스페이스를 선택하지 마십시오. 이 옵션을 사용하면 복원 중에 기본값인 테이블스페이스에 모든 객체가 생성됩니다.
--no-unlogged-table-data기록되지 않은 테이블의 내용을 덤프하지 마십시오. 이 옵션은 테이블 정의(스키마)가 덤프되는지 여부에 영향을 주지 않습니다. 테이블 데이터 덤프만 억제합니다.
--on-충돌-아무것도 하지 않음추가충돌 시 아무것도 하지 않음에삽입명령. 이 옵션은 다음 경우가 아니면 유효하지 않습니다.--삽입또는--열 삽입또한 지정되었습니다.
--인용-모든 식별자모든 식별자를 강제로 인용합니다. 이 옵션은 다음과 같은 서버에서 데이터베이스를 덤프할 때 권장됩니다.포스트그레SQL주 버전이 다음과 다릅니다.pg_dumpall' 또는 출력이 다른 주요 버전의 서버에 로드되도록 의도된 경우. 기본적으로,pg_dumpall주 버전의 예약어인 식별자만 인용합니다. 이로 인해 약간 다른 예약어 세트가 있을 수 있는 다른 버전의 서버를 처리할 때 호환성 문제가 발생하는 경우가 있습니다. 사용--인용-모든 식별자읽기 어려운 덤프 스크립트를 사용하여 이러한 문제를 방지합니다.
--제한 키=restrict_key제공된 문자열을 다음으로 사용psql \제한28065_28125pg_dumpall필요에 따라 무작위로 생성됩니다. 키에는 영숫자 문자만 포함될 수 있습니다.
이 옵션은 주로 테스트 목적과 반복 가능한 출력(예: 덤프 파일 비교)이 필요한 기타 시나리오를 위한 것입니다. 키에 대한 사전 지식을 갖춘 악의적인 서버가 실행되는 시스템에서 실행될 임의의 코드를 삽입할 수 있으므로 일반적인 사용에는 권장되지 않습니다.psql덤프 출력 포함.
--삽입당 행=nrows다음으로 데이터 덤프삽입명령(보다는복사). 당 최대 행 수를 제어합니다.삽입명령. 지정된 값은 0보다 큰 숫자여야 합니다. 복원 중 오류가 발생하면 문제가 있는 행만 발생합니다.삽입전체 테이블 내용이 아니라 손실됩니다.
--use-set-session-authorization출력 SQL-표준세션 승인 설정대신 명령소유자 변경객체 소유권을 결정하는 명령입니다. 이렇게 하면 덤프의 표준 호환성이 높아지지만 덤프의 개체 기록에 따라 제대로 복원되지 않을 수 있습니다.
-?--도움말다음에 관한 도움말 표시pg_dumpall명령줄 인수 및 종료.
다음 명령줄 옵션은 데이터베이스 연결 매개변수를 제어합니다.
-dconnstr--dbname=connstr서버에 연결하는 데 사용되는 매개변수를 다음과 같이 지정합니다.연결 문자열; 이는 충돌하는 명령줄 옵션을 재정의합니다.
옵션이 호출되었습니다.--dbname다른 클라이언트 응용 프로그램과의 일관성을 위해, 그러나 그 이유는pg_dumpall은(는) 많은 데이터베이스에 연결해야 하며 연결 문자열의 데이터베이스 이름은 무시됩니다. 다음을 사용하세요.-l초기 연결에 사용되는 데이터베이스의 이름을 지정하는 옵션으로 전역 개체를 덤프하고 덤프해야 할 다른 데이터베이스를 검색합니다.
-h호스트--호스트=호스트데이터베이스 서버가 실행 중인 시스템의 호스트 이름을 지정합니다. 값이 슬래시로 시작하는 경우 Unix 도메인 소켓의 디렉터리로 사용됩니다. 기본값은에서 가져옵니다.PGHOST환경 변수, 설정된 경우 그렇지 않으면 Unix 도메인 소켓 연결이 시도됩니다.
-ldb이름--범퍼카 토토=db이름전역 개체를 덤프하고 어떤 다른 범퍼카 토토를 덤프해야 하는지 검색하기 위해 연결할 범퍼카 토토의 이름을 지정합니다. 지정하지 않으면,포스트그레스데이터베이스가 사용되며 데이터베이스가 존재하지 않는 경우,템플릿1사용됩니다.
-p포트--포트=포트서버가 연결을 수신하고 있는 TCP 포트 또는 로컬 Unix 도메인 소켓 파일 확장자를 지정합니다. 기본값은PGPORT환경 변수(설정된 경우) 또는 컴파일된 기본값.
-U사용자 이름--사용자 이름=사용자 이름연결할 사용자 이름.
-w--비밀번호 없음절대 비밀번호 프롬프트를 표시하지 마세요. 서버가 비밀번호 인증을 요구하는데 다음과 같은 다른 방법으로 비밀번호를 사용할 수 없는 경우.pgpass파일을 사용하면 연결 시도가 실패합니다. 이 옵션은 비밀번호를 입력할 사용자가 없는 일괄 작업 및 스크립트에 유용할 수 있습니다.
-W--비밀번호포스pg_dumpall범퍼카 토토에 연결하기 전에 비밀번호를 묻는 메시지를 표시합니다.
이 옵션은 결코 필수가 아닙니다. 왜냐하면pg_dumpall서버가 비밀번호 인증을 요구하면 자동으로 비밀번호를 묻는 메시지를 표시합니다. 그러나pg_dumpall서버가 비밀번호를 원하는지 알아내는 연결 시도를 낭비하게 됩니다. 어떤 경우에는 입력할 가치가 있습니다.-W추가 연결 시도를 피하기 위해.
암호 프롬프트는 덤프될 각 데이터베이스에 대해 다시 발생합니다. 일반적으로 다음을 설정하는 것이 좋습니다.~/.pgpass파일에 수동 비밀번호 입력을 사용하는 것이 좋습니다.
--역할=역할명덤프를 생성하는 데 사용될 역할 이름을 지정합니다. 이 옵션으로 인해pg_dumpalla를 발행하다역할 설정 역할 이름34957_35057-U)에는에 필요한 권한이 없습니다.pg_dumpall, 하지만 필요한 권한이 있는 역할로 전환할 수 있습니다. 일부 설치에는 수퍼유저로 직접 로그인하는 것에 대한 정책이 있으며, 이 옵션을 사용하면 정책을 위반하지 않고 덤프를 만들 수 있습니다.
PGHOSTPGOPTIONSPG포트PGUSER기본 연결 매개변수
PG_COLOR진단 메시지에 색상을 사용할지 여부를 지정합니다. 가능한 값은 다음과 같습니다.항상, 자동그리고절대로.
이 유틸리티는 대부분의 다른 유틸리티와 같습니다.PostgreSQL유틸리티는 다음에서 지원하는 환경 변수도 사용합니다.libpq(참조PostgreSQL : 문서 : 13 : 33.14. 환경 토토 베이).
이후pg_dumpall호출pg_dump내부적으로 일부 진단 메시지는 다음을 참조합니다.pg_dump.
그--깨끗함옵션은 덤프 스크립트를 새로운 클러스터로 복원하려는 경우에도 유용할 수 있습니다. 의 사용--깨끗함내장된 항목을 삭제하고 다시 생성하도록 스크립트를 승인합니다.포스트그레스그리고템플릿1데이터베이스, 해당 데이터베이스가 소스 클러스터에 있었던 것과 동일한 속성(예: 로케일 및 인코딩)을 유지하는지 확인합니다. 옵션이 없으면 해당 데이터베이스는 기존 데이터베이스 수준 속성과 기존 콘텐츠를 유지합니다.
복구되면 실행하는 것이 현명합니다.분석각 범퍼카 토토에 있으므로 최적화 프로그램은 유용한 통계를 갖습니다. 실행할 수도 있습니다.vacuumdb -a -z모든 데이터베이스를 분석합니다.
덤프 스크립트는 오류 없이 완전히 실행될 것으로 기대해서는 안됩니다. 특히 스크립트가 발행되기 때문에역할 생성소스 클러스터에 존재하는 모든 역할에 대해 다음을 얻을 것이 확실합니다.“역할이 이미 존재합니다.”대상 클러스터가 다른 부트스트랩 수퍼유저 이름으로 초기화되지 않은 경우 부트스트랩 수퍼유저에 대한 오류입니다. 이 오류는 무해하므로 무시해야 합니다. 의 사용--깨끗함옵션을 추가하면 존재하지 않는 개체에 대한 추가 무해한 오류 메시지가 생성될 가능성이 높지만 추가하여 오류 메시지를 최소화할 수 있습니다.--존재하는 경우.
pg_dumpall복원 전에 필요한 모든 테이블스페이스 디렉터리가 있어야 합니다. 그렇지 않으면 기본 위치가 아닌 위치에 있는 데이터베이스에 대한 데이터베이스 생성이 실패합니다.
일반적으로 다음을 사용하는 것이 좋습니다.-X (--no-psqlrc) 옵션에서 데이터베이스를 복원할 때pg_dumpall깨끗한 복원 프로세스를 보장하고 기본값이 아닌 항목과의 잠재적인 충돌을 방지하기 위한 스크립트psql구성. 게다가, 왜냐하면pg_dumpall스크립트에는 다음이 포함될 수 있습니다.psqlmeta-commands, 이외의 클라이언트와 호환되지 않을 수 있습니다.psql.
모든 범퍼카 토토를 덤프하려면:
$pg_dumpall db.out
이 파일에서 데이터베이스를 복원하려면 다음을 사용할 수 있습니다:
$psql -X -f db.out -d postgres
다음에 의해 생성된 스크립트 파일 이후로 여기에 어떤 데이터베이스에 연결하는지는 중요하지 않습니다.pg_dumpall에는 저장된 데이터베이스를 생성하고 연결하는 데 필요한 적절한 명령이 포함되어 있습니다. 예외는 다음을 지정한 경우입니다.--깨끗함, 귀하는에 연결해야 합니다포스트그레스범퍼카 토토 처음; 스크립트는 다른 범퍼카 토토를 즉시 삭제하려고 시도하며 연결된 범퍼카 토토에서는 실패합니다.
확인pg_dump가능한 오류 조건에 대한 자세한 내용을 확인하세요.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.