Azure Database for PostgreSQL 유연한 백업 복원(미리 보기)
이 문서에서는 Azure Backup에서 백업한 Azure PostgreSQL - 유연한 서버를 복원하는 방법을 설명합니다.
필수 조건
Azure Database for PostgreSQL 유연한 서버 백업에서 복원하기 전에 복원 작업에 필요한 권한이 있는지 확인합니다.
백업 데이터는 Microsoft 테넌트 내의 Blob으로 백업 자격 증명 모음에 저장됩니다. 복원 작업 중에 백업 데이터는 테넌트 간 한 스토리지 계정에서부터 다른 스토리지 계정으로 복사됩니다. 복원의 대상 스토리지 계정의 AllowCrossTenantReplication 속성이 true로 설정되어 있는지 확인합니다.
Azure PostgreSQL-유연한 데이터베이스 복원
다음 단계를 수행합니다.
백업 자격 증명 모음>백업 인스턴스로 이동합니다. 복원할 PostgreSQL-유연한 서버를 선택하고 복원을 선택합니다.
또는 백업 센터로 이동하여 복원을 선택합니다.
복원 지점 선택을 사용하여 복원하려는 시점을 선택합니다. 기간을 선택하여 날짜 범위를 변경합니다.
복원 매개 변수 탭에서 대상 스토리지 계정 및 컨테이너를 선택합니다. 유효성 검사를 선택하여 최종 검토 및 복원 전에 복원 매개 변수 권한을 확인합니다.
유효성 검사가 성공하면 검토 + 복원을 선택합니다.
매개 변수를 최종 검토한 후 복원을 선택하여 대상 스토리지 계정에서 선택한 PostgreSQL-유연한 서버 백업을 복원합니다.
복원 작업을 제출하고 백업 작업에서 트리거된 작업을 추적합니다.
작업이 완료되면 백업된 데이터가 스토리지 계정으로 복원됩니다. 복원 후 스토리지 계정에서 복구된 파일 집합은 다음과 같습니다.
첫 번째 파일은 고객에게 백업을 수행한 시간을 제공하는 마커 또는 타임스탬프 파일입니다. 파일을 복원할 수 없지만 텍스트 편집기를 사용하여 열면 백업이 수행된 UTC 시간을 고객에게 알려야 합니다.
두 번째 파일 database는 pg_dump를 사용하여 가져온 tempdata2라는 데이터베이스에 대한 개별 데이터베이스 백업입니다. 각 데이터베이스에는 – {backup_name}database{db_name}.sql 형식의 별도 파일이 있습니다.
세 번째 파일 _roles는 pg_dumpall을 사용하여 역할을 백업합니다.
네 번째 파일 _schemas는 pg_dumpall을 사용하여 백업합니다.
다섯 번째 파일 _tablespaces는 pg_dumpall을 사용하여 테이블스페이스를 백업합니다.
복원 완료 후 대상 스토리지 계정에 pg_restore 유틸리티를 사용하여 데이터베이스 및 기타 파일을 PostgreSQL 유연한 서버로 복원할 수 있습니다. 다음 명령을 사용하여 기존 postgresql 유연한 서버 및 기존 데이터베이스에 연결합니다.
az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file - | pg_restore -h <postgres-server-url> -p <port> -U <username> -d <database-name> -v -
--account-name
: 대상 스토리지 계정의 이름입니다.--container-name
: Blob 컨테이너의 이름입니다.--blob-name
: Blob의 이름입니다.--account-key
: 스토리지 계정 키입니다.-Fd
: 디렉터리 형식입니다.-j
: 작업의 수입니다.-C
: 명령으로 출력을 시작하여 데이터베이스 자체를 만든 다음, 다시 연결합니다.
복원할 데이터베이스가 두 개 이상 있는 경우 각 데이터베이스에 대해 이전 명령을 다시 실행합니다.
또한, 여러 동시 작업 -j를 사용하면 다중 vCore 대상 서버에서 대규모 데이터베이스를 복원하는 데 걸리는 시간을 줄일 수 있습니다. 작업 수는 대상 서버에 할당된 vCPU 수와 같거나 작을 수 있습니다.
다른 세 파일(역할, 스키마 및 테이블스페이스)을 복원하려면 psql 유틸리티를 사용하여 PostgreSQL 유연한 서버로 복원합니다.
az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file - | psql -h <hostname> -U <username> -d <db name> -f <dump directory> -v -
각 파일에 대해 위의 명령을 다시 실행합니다.