pg_basebackup — a의 기본 배트맨 토토을 수행합니다.포스트그레SQL클러스터
pg_basebackup [옵션...]
pg_basebackup실행 중인 기본 배트맨 토토을 수행하는 데 사용됩니다.포스트그레SQL9500_9639젠 토토 PostgreSQL : 문서 : 11 : 25.3. 연속 보관 및 시점 복구 (PITR)) 및 로그 전달 또는 스트리밍 복제 대기 서버의 시작점으로 사용됩니다(참조PostgreSQL : 문서 : 11 : 26.2. 로그쉽 토토 캔 서버).
pg_basebackupmakes a binary copy of the database cluster files, while making sure the system is put in and out of backup mode automatically. 배트맨 토토은 항상 전체 데이터베이스 클러스터에서 수행됩니다. it is not possible to back up individual databases or database objects. 개별 데이터베이스 배트맨 토토의 경우 다음과 같은 도구를 사용하세요.pg_dump반드시 사용해야 합니다.
배트맨 토토은 정기적으로 이루어집니다.PostgreSQLconnection, and uses the replication protocol. The connection must be made with a superuser or a user having
35324_35382|utilities, uses the environment variables supported by
16570_16576|rate
13528_13537|Options
9500_9639|database cluster. These are taken without affecting other clients to the database, and can be used both for point-in-time recovery (see복제권한(참조PostgreSQL : 문서 : 11 : 21.2. 사설 토토 사이트 속성) 및pg_hba.conf복제 연결을 명시적으로 허용해야 합니다. 서버는 또한 다음과 같이 구성되어야 합니다.max_wal_senders적어도 하나의 세션을 배트맨 토토에 사용하고 하나는 WAL 스트리밍(사용된 경우)에 사용할 수 있도록 충분히 높게 설정합니다.
여러 개가 있을 수 있습니다.pg_basebackups가 동시에 실행 중이지만 성능 관점에서 배트맨 토토을 하나만 수행하고 결과를 복사하는 것이 더 좋습니다.
pg_basebackup마스터뿐만 아니라 대기에서도 기본 배트맨 토토을 만들 수 있습니다. 대기에서 배트맨 토토을 수행하려면 복제 연결을 허용할 수 있도록 대기를 설정합니다(즉, setmax_wal_senders그리고hot_standby및 구성스포츠 토토 PostgreSQL : 문서 : 11 : 20.1. pg_hba.conf 파일). 또한 활성화해야 합니다.full_page_writes마스터에.
대기 모드에서 온라인 배트맨 토토에는 몇 가지 제한 사항이 있습니다.
배트맨 토토된 데이터베이스 클러스터에는 배트맨 토토 기록 파일이 생성되지 않습니다.
pg_basebackup배트맨 토토 종료 시 대기 서버가 새 WAL 파일로 전환되도록 강제할 수 없습니다. 사용하는 경우-X 없음, 기본 인스턴스의 쓰기 활동이 낮은 경우pg_basebackup배트맨 토토이 전환되고 보관되는 데 필요한 마지막 WAL 파일을 오랫동안 기다려야 할 수도 있습니다. 이 경우 다음을 실행하는 것이 유용할 수 있습니다.pg_switch_wal즉시 WAL 파일 전환을 트리거하기 위해 기본에서.
온라인 배트맨 토토 중에 대기가 마스터로 승격되면 배트맨 토토이 실패합니다.
배트맨 토토에 필요한 모든 WAL 레코드에는 충분한 전체 페이지 쓰기가 포함되어야 하며 이를 활성화해야 합니다.full_page_writes마스터에 설치하고 다음과 같은 도구를 사용하지 마세요pg_compresslogasarchive_commandWAL 파일에서 전체 페이지 쓰기를 제거합니다.
다음 명령줄 옵션은 출력의 위치와 형식을 제어합니다.
-D디렉토리--pgdata=디렉토리출력을 쓸 디렉터리입니다.pg_basebackup필요한 경우 디렉토리와 상위 디렉토리를 생성합니다. 디렉터리가 이미 존재할 수도 있지만, 디렉터리가 이미 존재하고 비어 있지 않으면 오류입니다.
배트맨 토토이 tar 모드이고 디렉토리가 다음과 같이 지정된 경우-(dash), the tar file will be written tostdout.
이 옵션은 필수입니다.
-Fformat--형식=형식출력 형식을 선택합니다.형식다음 중 하나일 수 있습니다:
p일반현재 데이터 디렉토리 및 테이블스페이스와 동일한 레이아웃을 사용하여 출력을 일반 파일로 작성합니다. 클러스터에 추가 테이블스페이스가 없으면 전체 데이터베이스가 대상 디렉터리에 배치됩니다. 클러스터에 추가 테이블스페이스가 포함된 경우 기본 데이터 디렉터리는 대상 디렉터리에 배치되지만 다른 모든 테이블스페이스는 원본 서버에 있는 것과 동일한 절대 경로에 배치됩니다. (참조--테이블스페이스-매핑그것을 바꾸려면.)
이것이 기본 형식입니다.
t타르출력을 대상 디렉토리에 tar 파일로 기록하십시오. 기본 데이터 디렉터리는 다음과 같은 파일에 기록됩니다.base.tar및 기타 모든 테이블스페이스의 이름은 테이블스페이스 OID를 따라 지정됩니다.
값이-(대시)는 대상 디렉토리로 지정되며 tar 내용은 예를 들어 파이핑에 적합한 표준 출력에 기록됩니다.gzip. 이는 클러스터에 추가 테이블스페이스가 없고 WAL 스트리밍이 사용되지 않는 경우에만 가능합니다.
-r16570_16576--최대 속도=비율서버에서 전송된 데이터의 최대 전송 속도입니다. 값은 초당 킬로바이트 단위입니다. 의 접미사를 사용하세요.M초당 메가바이트를 나타냅니다. 의 접미사k또한 허용되며 아무런 효과가 없습니다. 유효한 값은 초당 32KB에서 1024MB 사이입니다.
목적은 다음의 영향을 제한하는 것입니다.pg_basebackup실행 중인 서버에서.
이 옵션은 항상 데이터 디렉토리 전송에 영향을 미칩니다. WAL 파일 전송은 수집 방법이 다음과 같은 경우에만 영향을 받습니다.가져오기.
-R--write-recovery-conf최소한의 글을 쓰세요recovery.conf출력 디렉토리(또는 tar 형식을 사용하는 경우 기본 아카이브 파일)에 대기 서버 설정을 쉽게 합니다.recovery.conf파일은 연결 설정을 기록하고 지정된 경우 복제 슬롯을 기록합니다.pg_basebackup을 사용 중이므로 나중에 스트리밍 복제에서 동일한 설정을 사용하게 됩니다.
-티olddir=newdir--테이블스페이스-매핑=olddir=newdir디렉토리에서 테이블스페이스 재배치olddir에newdir배트맨 토토 중. 효과적이려면,olddir현재 정의된 테이블스페이스의 경로 사양과 정확히 일치해야 합니다. (단, 테이블스페이스가 없으면 에러가 아니다.)olddir배트맨 토토에 포함되어 있습니다.) 둘 다olddir그리고newdir절대 경로여야 합니다. 경로에가 포함된 경우=서명, 백슬래시로 이스케이프 처리하세요. 이 옵션은 여러 테이블스페이스에 대해 여러 번 지정할 수 있습니다. 아래 예를 참조하세요.
테이블스페이스가 이런 방식으로 재배치되면 기본 데이터 디렉토리 내부의 심볼릭 링크가 새 위치를 가리키도록 업데이트됩니다. 따라서 새 데이터 디렉터리는 업데이트된 위치에 모든 테이블스페이스가 있는 새 서버 인스턴스에 사용할 준비가 되었습니다.
현재 이 옵션은 일반 출력 형식에서만 작동합니다. tar 형식을 선택하면 무시됩니다.
--waldir=왈디르미리 쓰기 로그 디렉토리의 위치를 지정합니다.왈디르반드시 경로여야 합니다. 미리 쓰기 로그 디렉터리는 배트맨 토토이 일반 모드인 경우에만 지정할 수 있습니다.
-X방법--wal-method=방법필수 미리 쓰기 로그 파일(WAL 파일)을 배트맨 토토에 포함합니다. 여기에는 배트맨 토토 중에 생성된 모든 미리 쓰기 로그가 포함됩니다. 방법이 아니라면없음이 지정되면 로그 아카이브를 참조할 필요 없이 추출된 디렉토리에서 직접 포스트마스터를 시작할 수 있으므로 이를 완전히 독립형 배트맨 토토으로 만들 수 있습니다.
미리 쓰기 로그를 수집하기 위해 다음 방법이 지원됩니다:
n없음배트맨 토토에 미리 쓰기 로그를 포함하지 마십시오.
f가져오기미리 쓰기 로그 파일은 배트맨 토토이 끝나면 수집됩니다. 그러므로 다음과 같은 경우에 필요합니다.wal_keep_segments매개변수는 배트맨 토토이 끝나기 전에 로그가 제거되지 않도록 충분히 높게 설정되어야 합니다. 전송할 시점에 로그가 순환된 경우 배트맨 토토이 실패하고 사용할 수 없게 됩니다.
tar 형식 모드를 사용하면 미리 쓰기 로그 파일이 다음에 기록됩니다.base.tar파일.
s스트림배트맨 토토이 생성되는 동안 미리 쓰기 로그를 스트리밍합니다. 그러면 서버에 대한 두 번째 연결이 열리고 배트맨 토토을 실행하는 동안 미리 쓰기 로그 스트리밍이 병렬로 시작됩니다. 따라서 다음으로 구성된 두 개의 연결을 사용합니다.max_wal_senders매개변수. 클라이언트가 수신된 미리 쓰기 로그를 따라갈 수 있는 한, 이 모드를 사용하면 마스터에 추가로 미리 쓰기 로그를 저장할 필요가 없습니다.
tar 형식 모드가 사용되면 미리 쓰기 로그 파일은 다음 이름의 별도 파일에 기록됩니다.pg_wal.tar(서버가 10 이전 버전인 경우 파일 이름이 지정됩니다.pg_xlog.tar).
이 값은 기본값입니다.
-z--gzip기본 압축 수준으로 tar 파일 출력의 gzip 압축을 활성화합니다. 압축은 tar 형식과 접미사를 사용하는 경우에만 가능합니다..gz모든 tar 파일 이름에 자동으로 추가됩니다.
-Z레벨--압축=레벨tar 파일 출력의 gzip 압축을 활성화하고 압축 수준을 지정합니다(0~9, 0은 압축되지 않음, 9는 최고 압축). 압축은 tar 형식과 접미사를 사용하는 경우에만 가능합니다..gz모든 tar 파일 이름에 자동으로 추가됩니다.
다음 명령줄 옵션은 배트맨 토토 생성과 프로그램 실행을 제어합니다.
-c빠른|확산--체크포인트=빠른|확산체크포인트 모드를 빠른(즉시) 또는 확산(기본값)으로 설정합니다(참조섹션 25.3.3).
-C--생성-슬롯이 옵션은 다음과 같은 이름의 복제 슬롯을 생성합니다.--슬롯24870_24954
-l라벨--레이블=라벨배트맨 토토 라벨을 설정합니다. 아무것도 지정하지 않으면 기본값은“pg_basebackup 기본 배트맨 토토”사용됩니다.
-n--청소 없음기본적으로 언제pg_basebackup오류와 함께 중단되면 작업을 완료할 수 없다는 사실을 발견하기 전에 생성했을 수 있는 모든 디렉터리(예: 데이터 디렉터리 및 미리 쓰기 로그 디렉터리)를 제거합니다. 이 옵션은 정리를 금지하므로 디버깅에 유용합니다.
테이블스페이스 디렉토리는 어떤 방법으로도 정리되지 않습니다.
-N--동기화 없음기본적으로,pg_basebackup모든 파일이 디스크에 안전하게 기록될 때까지 기다립니다. 이 옵션으로 인해pg_basebackup기다리지 않고 반환하는 것이 더 빠르지만 후속 운영 체제 충돌로 인해 기본 배트맨 토토이 손상될 수 있음을 의미합니다. 일반적으로 이 옵션은 테스트에 유용하지만 프로덕션 설치를 생성할 때는 사용하면 안 됩니다.
-P--진행진행상황 보고를 활성화합니다. 이 기능을 켜면 배트맨 토토 중에 대략적인 진행 보고서가 제공됩니다. 배트맨 토토 중에 데이터베이스가 변경될 수 있으므로 이는 대략적인 것일 뿐이며 정확하게 끝나지 않을 수 있습니다.100%. 특히 배트맨 토토에 WAL 로그가 포함된 경우 전체 데이터 양을 미리 예측할 수 없으며, 이 경우 WAL 없이 전체 예측을 통과하면 예상 대상 크기가 증가합니다.
이 기능이 활성화되면 전체 데이터베이스의 크기를 열거하여 배트맨 토토이 시작된 다음 돌아가서 실제 내용을 전송합니다. 이로 인해 배트맨 토토 시간이 약간 더 길어질 수 있으며, 특히 첫 번째 데이터가 전송되기 전에 시간이 더 오래 걸릴 수 있습니다.
-S슬롯 이름--슬롯=슬롯 이름이 옵션은 다음과 함께만 사용할 수 있습니다.-X 스트림. WAL 스트리밍이 지정된 복제 슬롯을 사용하게 됩니다. 기본 배트맨 토토을 복제 슬롯을 사용하여 스트리밍 복제 대기로 사용하려는 경우 동일한 복제 슬롯 이름을 사용해야 합니다.recovery.conf. 이렇게 하면 기본 배트맨 토토 종료와 스트리밍 복제 시작 사이의 시간에 서버가 필요한 WAL 데이터를 제거하지 않는 것이 보장됩니다.
옵션이 아닌 이상 지정된 복제 슬롯이 존재해야 합니다.-C또한 사용됩니다.
이 옵션이 지정되지 않고 서버가 임시 복제 슬롯(버전 10 이상)을 지원하는 경우 임시 복제 슬롯은 자동으로 WAL 스트리밍에 사용됩니다.
-v--상세상세 모드를 활성화합니다. 시작 및 종료 중에 몇 가지 추가 단계를 출력할 뿐만 아니라 진행률 보고가 활성화된 경우 현재 처리 중인 정확한 파일 이름도 표시합니다.
--슬롯 없음이 옵션은 서버에서 지원하더라도 배트맨 토토 중에 임시 복제 슬롯이 생성되는 것을 방지합니다.
옵션에 슬롯 이름이 지정되지 않으면 기본적으로 임시 복제 슬롯이 생성됩니다.-S로그 스트리밍을 사용할 때.
이 옵션의 주요 목적은 서버에 여유 복제 슬롯이 없을 때 기본 배트맨 토토을 수행하도록 허용하는 것입니다. 복제 슬롯을 사용하는 것은 배트맨 토토 중에 필요한 WAL이 서버에 의해 제거되는 것을 방지하기 때문에 거의 항상 선호됩니다.
--no-verify-checksums기본 배트맨 토토을 가져온 서버에서 체크섬이 활성화된 경우 체크섬 확인을 비활성화합니다.
기본적으로 체크섬은 확인되며 체크섬에 실패하면 0이 아닌 종료 상태가 됩니다. 그러나 다음과 같은 경우에는 기본 배트맨 토토이 제거되지 않습니다.--청소 없음옵션이 사용되었습니다.
다음 명령줄 옵션은 데이터베이스 연결 매개변수를 제어합니다.
-dconnstr--dbname=connstr서버에 연결하는 데 사용되는 매개변수를 다음과 같이 지정합니다.연결 문자열; 이는 충돌하는 명령줄 옵션을 재정의합니다.
The option is called--dbname다른 클라이언트 응용프로그램과의 일관성을 위해, 하지만 그 이유는pg_basebackup클러스터의 특정 데이터베이스에 연결되지 않습니다. 연결 문자열의 데이터베이스 이름은 무시됩니다.
-h호스트--호스트=호스트서버가 실행 중인 시스템의 호스트 이름을 지정합니다. 값이 슬래시로 시작하는 경우 Unix 도메인 소켓의 디렉터리로 사용됩니다. 기본값은에서 가져옵니다.PGHOST환경 변수, 설정된 경우 그렇지 않으면 Unix 도메인 소켓 연결이 시도됩니다.
-p포트--포트=포트서버가 연결을 수신하고 있는 TCP 포트 또는 로컬 Unix 도메인 소켓 파일 확장자를 지정합니다. 기본값은PGPORT환경 변수(설정된 경우) 또는 컴파일된 기본값.
-s간격--상태-간격=간격서버로 다시 전송되는 상태 패킷 사이의 시간(초)을 지정합니다. 이를 통해 서버의 진행 상황을 더 쉽게 모니터링할 수 있습니다. 값이 0이면 주기적인 상태 업데이트가 완전히 비활성화됩니다. 단, 연결 끊김 시간 초과를 방지하기 위해 서버에서 요청할 때 업데이트가 계속 전송됩니다. 기본값은 10초입니다.
-유사용자 이름--사용자 이름=사용자 이름연결할 사용자 이름.
-w--비밀번호 없음절대 비밀번호 프롬프트를 표시하지 마세요. 서버가 비밀번호 인증을 요구하는데 다음과 같은 다른 수단으로 비밀번호를 사용할 수 없는 경우.pgpass파일을 사용하면 연결 시도가 실패합니다. 이 옵션은 비밀번호를 입력할 사용자가 없는 일괄 작업 및 스크립트에 유용할 수 있습니다.
-W--비밀번호포스pg_basebackup데이터베이스에 연결하기 전에 비밀번호를 묻는 메시지를 표시합니다.
이 옵션은 결코 필수가 아닙니다. 왜냐하면pg_basebackup서버가 비밀번호 인증을 요구하면 자동으로 비밀번호를 묻는 메시지를 표시합니다. 그러나pg_basebackup서버가 비밀번호를 원하는지 알아내는 연결 시도를 낭비하게 됩니다. 어떤 경우에는 입력할 가치가 있습니다.-W추가 연결 시도를 피하기 위해.
다른 옵션도 사용할 수 있습니다:
-V--버전인쇄pg_basebackup버전 및 종료.
-?--도움말다음에 관한 도움말 보기pg_basebackup명령줄 인수 및 종료.
이 유틸리티는 대부분의 다른 유틸리티와 같습니다.PostgreSQL35324_35382libpq(참조PostgreSQL : 문서 : 11 : 34.14. 환경 토토 사이트 순위).
배트맨 토토 시작 시 배트맨 토토을 가져온 서버에 체크포인트를 작성해야 합니다. 특히 옵션인 경우--체크포인트=빠름is not used, this can take some time during whichpg_basebackup유휴 상태인 것 같습니다.
배트맨 토토에는 PostgreSQL에서 관리하는 특정 임시 파일을 제외하고 구성 파일과 제3자가 디렉터리에 배치한 추가 파일을 포함하여 데이터 디렉터리와 테이블 공간의 모든 파일이 포함됩니다. 그러나 테이블스페이스에 사용되는 심볼릭 링크가 보존된다는 점을 제외하고는 일반 파일과 디렉터리만 복사됩니다. PostgreSQL에 알려진 특정 디렉터리를 가리키는 기호 링크는 빈 디렉터리로 복사됩니다. 다른 기호 링크와 특수 장치 파일은 건너뜁니다. 참조PostgreSQL : 문서 : 11 : 53.4. 토토 핫 복제 프로토콜정확한 세부정보는.
테이블스페이스는 옵션이 없는 한 기본적으로 일반 형식으로 서버에 있는 것과 동일한 경로에 배트맨 토토됩니다.--테이블스페이스-매핑이 사용됩니다. 이 옵션이 없으면 서버와 동일한 호스트에서 일반 형식 기본 배트맨 토토을 실행하면 테이블스페이스가 사용 중인 경우 작동하지 않습니다. 배트맨 토토은 원래 테이블스페이스와 동일한 디렉터리 위치에 기록되어야 하기 때문입니다.
tar 형식 모드를 사용할 때 PostgreSQL 서버를 시작하기 전에 각 tar 파일의 압축을 푸는 것은 사용자의 책임입니다. 추가 테이블스페이스가 있는 경우 해당 tar 파일을 올바른 위치에 풀어야 합니다. 이 경우 해당 테이블스페이스에 대한 심볼릭 링크는 다음의 내용에 따라 서버에 의해 생성됩니다.테이블스페이스_맵다음에 포함된 파일base.tar파일.
pg_basebackup동일하거나 이전 주요 버전(9.1 이하)의 서버에서 작동합니다. 그러나 WAL 스트리밍 모드(-X 스트림)는 서버 버전 9.3 이상 및 tar 형식 모드에서만 작동합니다(--format=tar37781_37852
pg_basebackup두 그룹 모두에서 그룹 권한을 보존합니다일반그리고타르소스 클러스터에서 그룹 권한이 활성화된 경우 형식을 지정합니다.
서버의 기본 배트맨 토토을 생성하려면mydb서버그리고 로컬 디렉토리에 저장하세요/usr/local/pgsql/data:
$pg_basebackup -h mydbserver -D /usr/local/pgsql/data
각 테이블스페이스에 대해 하나의 압축 tar 파일로 로컬 서버의 배트맨 토토을 생성하고 이를 디렉토리에 저장하려면배트맨 토토, 실행 중 진행 보고서 표시:
$pg_basebackup -D 배트맨 토토 -Ft -z -P
단일 테이블스페이스 로컬 데이터베이스의 배트맨 토토을 생성하고 이를 압축하려면bzip2:
$pg_basebackup -D - -Ft -X 가져오기 | bzip2 backup.tar.bz2
(데이터베이스에 테이블스페이스가 여러 개 있으면 이 명령은 실패합니다.)
테이블스페이스가 있는 로컬 데이터베이스의 배트맨 토토을 생성하려면/opt/ts다음으로 이전되었습니다../backup/ts:
$pg_basebackup -D 배트맨 토토/데이터 -T /opt/ts=$(pwd)/backup/ts