Program Club

PostgreSQL 증분 백업을위한 최상의 방법

proclub 2020. 12. 31. 22:18
반응형

PostgreSQL 증분 백업을위한 최상의 방법


나는 현재 pg_dumppiped to gzippiped to split. 그러나 이것의 문제는 모든 출력 파일이 항상 변경된다는 것입니다. 따라서 체크섬 기반 백업은 항상 모든 데이터를 복사합니다.

백업 데이터에서 전체 데이터베이스를 복원 할 수있는 PostgreSQL 데이터베이스의 증분 백업을 수행하는 다른 좋은 방법이 있습니까?

예를 들어 pg_dump모든 것을 절대적으로 주문할 수 있다면 모든 변경 사항은 덤프의 끝에서만 적용됩니다.


업데이트 : 백업을 위해 WAL 아카이브를 설정하는 더 쉬운 방법은 Barman확인하십시오 .

PostgreSQL의 연속 WAL 보관 방법을 사용할 수 있습니다 . 먼저를 설정 wal_level=archive한 다음 전체 파일 시스템 수준 백업 (발행 pg_start_backup()pg_stop_backup()명령 사이 )을 수행 한 다음 archive_command옵션 을 구성하여 최신 WAL 파일을 복사합니다 .

장점 :

  • 증분, WAL 아카이브에는 데이터베이스의 현재 상태를 복원하는 데 필요한 모든 것이 포함됩니다.
  • 오버 헤드가 거의 없으며 WAL 파일 복사 비용이 저렴합니다.
  • 언제든지 데이터베이스를 복원 할 수 있습니다 (이 기능을 PITR 또는 특정 시점 복구라고 함).

단점 :

  • pg_dump보다 설정하기가 더 복잡합니다.
  • 모든 내부 테이블 구조와 인덱스가 포함되어 있으므로 전체 백업은 pg_dump보다 훨씬 큽니다.
  • 복구 시간이 오래 걸리므로 쓰기가 많은 데이터베이스에서는 제대로 작동하지 않습니다.

이러한 구성 설정 및 복원을 단순화 할 수있는 pitrtoolsomnipitr 와 같은 일부 도구 가 있습니다. 그러나 나는 그것들을 직접 사용하지 않았습니다.


http://www.pgbackrest.org 도 확인하세요 .

pgBackrest는 PostgreSQL을위한 또 다른 백업 도구로 다음을 지원하므로 평가해야합니다.

  • 병렬 백업 (최대 32 개 코어까지 거의 선형 적으로 확장 할 수 있도록 테스트되었지만 훨씬 더 멀리 갈 수 있습니다.)
  • 미사용 압축 백업
  • 증분 및 차등 (압축!) 백업
  • 스트리밍 압축 (데이터는 소스에서 한 번만 압축 된 다음 네트워크를 통해 전송되고 저장 됨)
  • 병렬, 델타 복원 (이전 사본을 최신 버전으로 업데이트하는 기능)
  • 테이블 스페이스를 완벽하게 지원
  • 백업 순환 및 아카이브 만료
  • 어떤 이유로 실패한 백업을 재개하는 기능
  • 기타 등등 ..

또 다른 방법은 일반 텍스트로 백업하고 rdiff를 사용하여 증분 차이를 만드는 것입니다.

참조 URL : https://stackoverflow.com/questions/5529603/best-method-for-postgresql-incremental-backup

반응형