Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

ObjectRocket에서 Postgres 백업을 복원하는 방법

2020년 2월 6일 ObjectRocket.com/blog에 처음 게시되었습니다.

데이터베이스 관리 업무에는 중요한 구성 요소인 정기 백업을 수행하고 복원하는 작업이 포함됩니다. ObjectRocket에는 2주 동안 보관되는 일일 백업이 포함되어 있으며 기본적으로 모든 데이터베이스 제품에서 이러한 백업을 활성화합니다.

ObjectRocket PostgreSQL®(Postgres) 제품은 보너스, WAL(Write Ahead Log) 보관 및 보존 기간 내 언제든지 복원할 수 있는 기능을 추가합니다.

이 게시물은 ObjectRocket 서비스에서 Postgres를 사용한 PITR(특정 시점 복구)을 안내합니다.

ObjectRocket에서 Postgres 백업을 복원하는 방법 (/article/uploadfiles/202207/20220703312125) 피>

간단한 백업

백업 프로세스는 완전히 자동화되어 있으며 아무 것도 할 필요가 없습니다. 우리는 모든 인스턴스 비용에 일일 백업을 포함하고 항상 2주 분량의 백업을 보관합니다. 다음 이미지와 같이 대시보드에서 또는 사용자 인터페이스(UI)를 사용하여 백업 시간과 이전 상태를 볼 수 있습니다.

ObjectRocket에서 Postgres 백업을 복원하는 방법

여러 복원 옵션

시나리오에 도달하고 백업을 복원하려는 경우 여러 옵션을 제공합니다. 다음 지점에서 복원할 수 있습니다.

  • 저장된 최신 WAL 업데이트
  • 특정 기본 백업
  • 특정 시점

모든 경우에 시스템은 데이터를 새 Postgres 인스턴스로 복원합니다. 이때 인스턴스 스토리지는 원래 인스턴스의 스토리지보다 크거나 같아야 합니다. 데이터베이스 포크라고도 하는 이 프로세스에서 데이터를 새로운 별도의 데이터베이스 인스턴스에 복원합니다. 따라서 이전 인스턴스와 새 인스턴스는 모두 제거할 때까지 활성 상태를 유지합니다.

복원은 현재 ourAPI에 의해서만 노출됩니다. 이 API를 자유롭게 사용하십시오. 그렇지 않은 경우 지원 팀이 기꺼이 도와드리겠습니다. 가까운 시일 내에 UI에 복원 기능을 추가할 계획입니다.

최신 시간으로 복원

이 예는 우리가 복원한 지점을 볼 수 있도록 매분 타임스탬프와 시퀀스를 저장하는 간단한 데이터베이스를 사용합니다.

다음 이미지는 데이터베이스를 보여주며 마지막 타임스탬프가 16:00:58(UTC)임을 알 수 있습니다.

ObjectRocket에서 Postgres 백업을 복원하는 방법

이 데이터베이스의 최신 데이터로 복원하려면 다음 이미지와 같이 소스 인스턴스의 인스턴스 ID를 새 인스턴스 생성 호출에 제공하십시오.

ObjectRocket에서 Postgres 백업을 복원하는 방법

인스턴스 복원이 완료된 후 접속하여 마지막 타임스탬프를 확인하세요.

ObjectRocket에서 Postgres 백업을 복원하는 방법

보시다시피 모든 데이터가 있고 새 Postgres 인스턴스는 원본 Postgres 인스턴스에 완전히 연결되어 있습니다.

원본 데이터에 영향을 미칠 위험 없이 새로운 기능을 실험할 수 있도록 이 시나리오를 사용하여 현재 데이터에서 테스트 데이터베이스를 생성할 수 있습니다.

특정 백업으로 복원

기본 백업에서 복원하려면 대상 백업을 선택하여 시작합니다. 백업을 나열할 때 각 백업에는 식별하는 데 사용할 수 있는 고유 ID가 있습니다. 다음 이미지에서 시스템이 15:36:15(UTC)에 백업을 수행했음을 알 수 있습니다.

ObjectRocket에서 Postgres 백업을 복원하는 방법

이 정확한 백업으로 복원하려면 생성 호출에 백업 ID를 추가하십시오.

ObjectRocket에서 Postgres 백업을 복원하는 방법

인스턴스가 로드된 후 백업에 백업 시간 15:36:15 이전의 데이터와 타임스탬프가 있음을 확인합니다.

ObjectRocket에서 Postgres 백업을 복원하는 방법

특정 시간으로 복원

복원할 시간을 지정하려면 다음 이미지와 같이 원본 인스턴스 ID와 복원할 시간을 제공하세요.

ObjectRocket에서 Postgres 백업을 복원하는 방법

이 경우 15:53:00으로 복원하고 싶습니다. 복원이 완료되면 해당 시점까지만 데이터가 존재함을 알 수 있습니다.

ObjectRocket에서 Postgres 백업을 복원하는 방법

앞의 이미지를 다시 보면 15:53:00 이후 0.8초가 조금 넘은 시점에 15:53:00에 또 다른 타임스탬프가 있음을 알 수 있습니다. 따라서 이 복원에 포함되지 않습니다. PITR을 사용하여 매우 세분화하여 데이터베이스의 시간과 상태를 대상으로 지정할 수 있습니다.

결론

이 모든 데이터베이스 복구 기능을 사용할 수 있습니다. 가까운 시일 내에 더 많은 기능을 추가할 예정입니다. 언제나처럼 최신 소식을 알려드리겠지만 요청 사항이 있으면 알려주세요.

Rackspace DBA 서비스에 대해 자세히 알아보기

피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.