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

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

2020년 2월 6일 ObjectRocket.com/blog에서 원래 게시

정기적인 백업과 이를 복원하는 기능은 데이터베이스 시스템 관리의 중요한 부분입니다. Rackspace Technology 회사인 ObjectRocket에서는 모든 데이터베이스 제품에 대해 기본적으로 2주간 보존되는 일일 백업을 제공합니다.

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

PostgreSQL® 제품에는 Write Ahead Log가 포함된 보너스가 추가됩니다. (WAL) 보관 및 보존 기간 내에서 언제든지 복원할 수 있는 기능. 일반적으로 이를 PITR(특정 시점 복구)이라고 하며 이 게시물은 서비스에서 작동하는 방식을 안내합니다.

간단한 백업

주요 구성 요소는 완전 자동화된 백업 프로세스입니다. 모든 인스턴스 비용에는 일일 백업이 포함되며 2주 분량의 백업을 항상 보관합니다. 대시보드에서 또는 사용자 인터페이스(UI)를 사용하여 백업 시간과 상태를 볼 수 있습니다.

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

여러 복원 옵션

백업 복원을 위한 몇 가지 옵션이 제공됩니다.

  • 가장 최근에 저장된 WAL 업데이트로 복원합니다.
  • 특정 기본 백업으로 복원합니다.
  • 특정 시점으로 복원합니다.

모든 경우에 데이터를 새로운 PostgreSQL 인스턴스로 복원합니다. 이때 인스턴스 스토리지는 원래 인스턴스의 스토리지보다 크거나 같아야 합니다. 이것을 데이터베이스 포크라고 합니다. 이상적으로는 데이터를 별도의 새 데이터베이스 인스턴스로 복원하여 제거할 때까지 이전 인스턴스와 새 인스턴스가 모두 활성 상태를 유지해야 합니다.

참고: 복원은 현재 API를 통해서만 노출됩니다. API에 익숙하다면 좋습니다. 그렇지 않으면 지원 팀에서 프로세스를 도와드릴 수 있습니다. 곧 UI에 복원 기능을 추가할 예정입니다.

최신 시간으로 복원

1분마다 타임스탬프와 시퀀스만 저장하는 간단한 데이터베이스를 분석하여 백업 위치를 확인할 수 있도록 해 보겠습니다. 데이터베이스를 간단히 살펴보면 마지막 타임스탬프가 16:00:58(UTC)임을 알 수 있습니다.

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

이 데이터베이스의 최신 데이터로 복원하려면 인스턴스 id를 제공하면 됩니다. 새로운 인스턴스 생성 호출에 대한 우리의 sourceinstance.

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

인스턴스를 복원한 후 연결하여 마지막 타임스탬프를 확인할 수 있습니다.

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

보시다시피 모든 데이터가 있고 소스 Postgres 인스턴스로 완전히 업데이트된 새로운 Postgres 인스턴스가 있습니다. 이 시나리오를 사용하여 현재 데이터에서 테스트 데이터베이스를 생성하여 원본 데이터에 영향을 미칠 위험이 있습니다.

특정 백업으로 복원

두 번째 옵션은 기본 백업에서 복원하는 것입니다. 백업을 나열할 때 각각 고유한 id가 있습니다. 복원하는 데 사용할 수 있는 항목:

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

앞의 백업 예에서 15:36:15(UTC)에 수행되었음을 알 수 있습니다. 이 정확한 백업으로 복원하려면 생성 호출에 백업 ID를 추가하기만 하면 됩니다.

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

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

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

특정 시간으로 복원

마지막 방법은 복원하려는 시간을 지정하는 것입니다. 소스 인스턴스 ID와 복원 시간을 제공하여 이를 수행합니다.

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

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

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

앞의 이미지를 다시 보면 15:53:00에 다른 타임스탬프가 있었지만 해당 타임스탬프는 15:53:00 이후 0.8초가 조금 넘은 시점에 발생했기 때문에 인스턴스에 포함되지 않았음을 알 수 있습니다. 지정 시간 복구를 사용하면 매우 세분화할 수 있습니다. 데이터베이스의 시간과 상태를 대상으로 합니다.

다음은 무엇입니까?

이러한 모든 백업 및 복원 기능은 바로 지금 사용할 수 있습니다. 그러나 우리는 지속적으로 더 많은 기능을 추가합니다. 요청 사항이 있으면 알려주십시오.

Rackspace 데이터 서비스에 대해 자세히 알아보십시오.

피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 영업 채팅을 클릭할 수도 있습니다. 지금 채팅하고 대화를 시작하세요.

Rackspace Cloud 서비스 약관을 보려면 여기를 클릭하십시오.