
pgbackrest release/2.59.0
PostgreSQL을 위한 병렬 백업 및 복원 솔루션으로, 암호화, 델타 복원, 엔터프라이즈 재해 복구를 위한 멀티 클라우드 객체 스토어 지원을 제공합니다.
pgBackRest
신뢰할 수 있는 PostgreSQL 백업 및 복원
소개
pgBackRest는 가장 큰 데이터베이스와 워크로드까지 원활하게 확장되는 PostgreSQL용 신뢰할 수 있는 백업 및 복원 솔루션입니다.
pgBackRest v2.59.1이 현재 안정 버전입니다. 릴리스 노트는 릴리스 페이지에서 확인할 수 있습니다.
pgBackRest가 마음에 드신다면 GitHub에서 스타를 눌러 주세요!
뉴스
2026년 8월 17일 - pgBackRest 2.59.1 릴리스
2026년 7월 20일 - 새 배포 타르볼
2026년 7월 20일 - pgBackRest 2.59.0 릴리스
기능
병렬 백업 및 복원
압축은 일반적으로 백업 작업 중 병목 지점이므로 pgBackRest는 병렬 처리와 lz4, zstd 같은 더 효율적인 압축 알고리즘을 통해 이 문제를 해결합니다.
로컬 또는 원격 작업
사용자 지정 프로토콜을 통해 pgBackRest는 최소한의 구성으로 TLS/SSH를 이용해 로컬 또는 원격으로 백업, 복원, 아카이빙을 수행할 수 있습니다. 또한 프로토콜 계층을 통해 PostgreSQL을 쿼리하는 인터페이스가 제공되므로 PostgreSQL에 대한 원격 접근이 전혀 필요하지 않아 보안이 강화됩니다.
다중 리포지토리
다중 리포지토리를 사용하면 예를 들어 빠른 복원을 위해 보존 기간이 짧은 로컬 리포지토리와, 엔터프라이즈 전반에 걸친 중복성과 접근을 위해 보존 기간이 긴 원격 리포지토리를 둘 수 있습니다.
전체, 차등 및 증분 백업 (파일 또는 블록 수준)
전체, 차등, 증분 백업이 지원됩니다. pgBackRest는 rsync의 시간 해상도 문제에 영향을 받지 않으므로 각 파일을 체크섬할 필요 없이 차등 및 증분 백업을 안전하게 수행할 수 있습니다. 블록 수준 백업은 변경된 파일의 일부만 복사하므로 공간을 절약합니다.
백업 순환 및 아카이브 만료
전체 및 차등 백업에 보존 정책을 설정하여 임의의 기간을 커버할 수 있습니다. WAL 아카이브는 모든 백업에 대해 유지하거나 가장 최근 백업에 대해서만 엄격하게 유지할 수 있습니다. 후자의 경우 이전 백업을 일관되게 만드는 데 필요한 WAL이 아카이브에 유지됩니다.
백업 무결성
백업의 모든 파일에 대해 체크섬이 계산되며 복원 또는 검증 중에 다시 확인됩니다. 백업이 파일 복사를 마친 후에는 백업을 일관되게 만드는 데 필요한 모든 WAL 세그먼트가 리포지토리에 도달할 때까지 대기합니다.
리포지토리의 백업은 표준 PostgreSQL 클러스터(테이블스페이스 포함)와 동일한 형식으로 저장될 수 있습니다. 압축을 비활성화하고 하드 링크를 활성화하면 리포지토리의 백업을 스냅샷으로 만들어 해당 스냅샷에서 직접 PostgreSQL 클러스터를 구동할 수 있습니다. 이는 기존 방식으로 복원하는 데 시간이 많이 걸리는 테라바이트 규모의 데이터베이스에 유리합니다.
모든 작업은 파일 및 디렉터리 수준의 fsync를 사용하여 내구성을 보장합니다.
페이지 체크섬
페이지 체크섬이 활성화되면 pgBackRest는 백업 중 복사되는 모든 파일의 체크섬을 검증합니다. 전체 백업 중에는 모든 페이지 체크섬이 검증되고, 차등 및 증분 백업 중에는 변경된 파일의 체크섬이 검증됩니다.
검증 실패는 백업 프로세스를 중단시키지 않지만, 정확히 어떤 페이지가 검증에 실패했는지에 대한 세부 정보가 포함된 경고가 콘솔과 파일 로그에 출력됩니다.
이 기능을 통해 데이터의 유효한 복사본이 포함된 백업이 만료되기 전에 페이지 수준 손상을 조기에 감지할 수 있습니다.
백업 재개
중단된 백업은 중단된 지점부터 재개할 수 있습니다. 이미 복사된 파일은 매니페스트의 체크섬과 비교하여 무결성을 확인합니다. 이 작업은 전적으로 리포지토리 호스트에서 수행될 수 있으므로 PostgreSQL 호스트의 부하를 줄이고, 체크섬 계산이 데이터 압축 및 재전송보다 빠르므로 시간을 절약합니다.
스트리밍 압축 및 체크섬
압축 및 체크섬 계산은 리포지토리가 로컬에 있든 원격에 있든 파일이 리포지토리로 복사되는 동안 스트림에서 수행됩니다.
리포지토리가 리포지토리 호스트에 있는 경우 압축은 PostgreSQL 호스트에서 수행되고 파일은 압축된 형식으로 전송되어 리포지토리 호스트에 단순히 저장됩니다. 압축이 비활성화되면 CPU 비용을 최소화하면서 사용 가능한 대역폭을 효율적으로 사용하기 위해 더 낮은 수준의 압축이 사용됩니다.
델타 복원
매니페스트에는 백업의 모든 파일에 대한 체크섬이 포함되어 있어 복원 시 이러한 체크섬을 사용해 처리를 엄청나게 가속화할 수 있습니다. 델타 복원 시 백업에 없는 파일은 먼저 제거된 다음 나머지 파일에 대한 체크섬이 생성됩니다. 백업과 일치하는 파일은 그대로 두고 나머지 파일은 평소처럼 복원됩니다. 병렬 처리를 통해 복원 시간을 획기적으로 단축할 수 있습니다.
병렬 비동기 WAL Push 및 Get
WAL을 아카이브로 푸시하고 아카이브에서 WAL을 가져오기 위한 전용 명령이 포함되어 있습니다. 두 명령 모두 처리를 가속화하기 위한 병렬 처리를 지원하며 PostgreSQL에 가능한 가장 빠른 응답 시간을 제공하기 위해 비동기로 실행됩니다.
WAL push는 여러 번 푸시된 WAL 세그먼트를 자동으로 감지하고 세그먼트가 동일하면 중복을 제거하며, 그렇지 않으면 오류를 발생시킵니다. 비동기 WAL push를 사용하면 전송을 다른 프로세스에 오프로드하여 WAL 세그먼트를 병렬로 압축함으로써 최대 처리량을 얻을 수 있습니다. 이는 쓰기 볼륨이 매우 높은 데이터베이스에 중요한 기능이 될 수 있습니다.
비동기 WAL get은 압축이 풀리고 재생 준비가 된 WAL 세그먼트의 로컬 큐를 유지합니다. 이로 인해 PostgreSQL에 WAL을 제공하는 데 필요한 시간이 줄어들어 재생 속도가 최대화됩니다. 지연 시간이 긴 연결 및 스토리지(S3 등)에서 가장 큰 이점을 얻을 수 있습니다.
push 및 get 명령은 모두 PostgreSQL 버전과 시스템 식별자를 비교하여 데이터베이스와 리포지토리가 일치하는지 확인합니다. 이로 인해 WAL 아카이브 위치를 잘못 구성할 가능성이 사실상 없어집니다.
테이블스페이스 및 링크 지원
테이블스페이스는 완전히 지원되며 복원 시 테이블스페이스를 임의의 위치로 다시 매핑할 수 있습니다. 또한 단일 명령으로 모든 테이블스페이스를 한 위치로 다시 매핑할 수 있어 개발용 복원에 유용합니다.
PostgreSQL 클러스터의 모든 파일 또는 디렉터리에 대해 파일 및 디렉터리 링크가 지원됩니다. 복원 시 모든 링크를 원래 위치로 복원하거나, 일부 또는 모든 링크를 다시 매핑하거나, 일부 또는 모든 링크를 클러스터 디렉터리 내의 일반 파일 또는 디렉터리로 복원할 수 있습니다.
S3, Azure 및 GCS 지원
pgBackRest 리포지토리는 S3, Azure, GCS 호환 객체 스토리지에 위치할 수 있어 사실상 무제한의 용량과 보존이 가능합니다.
암호화
pgBackRest는 리포지토리를 암호화하여 백업이 어디에 저장되든 안전하게 보호할 수 있습니다.
랜섬웨어 및 악성코드 보호
리포지토리가 버전 관리되는 객체 스토리지에 저장된 경우 pgBackRest는 특정 시점의 리포지토리를 읽을 수 있습니다. 백업이 사고, 악성코드 또는 랜섬웨어로 인해 삭제되거나 손상된 경우 대상 시간을 사용하여 손상이 발생하기 전의 데이터를 복구할 수 있습니다.
버전 관리는 S3, Azure, GCS 호환 객체 스토리지에서 지원됩니다. S3의 객체 잠금과 GCS 또는 Azure의 소프트 삭제는 변조에 대한 추가 보호를 제공할 수 있습니다.
10개 PostgreSQL 버전 호환
pgBackRest는 10개의 PostgreSQL 버전, 즉 지원되는 5개 버전과 마지막 5개 EOL 버전을 지원합니다. 이를 통해 지원되는 버전으로 업그레이드할 충분한 시간을 확보할 수 있습니다.
시작하기
pgBackRest는 구성과 운영이 쉽도록 설계되었습니다:
스폰서
pgBackRest는 스폰서십 없이는 존재할 수 없습니다. 새로운 기능, 버그 수정, 기여 검토, 커뮤니티 지원, 유지보수 모두 상당한 시간이 필요합니다. 엔터프라이즈에서 pgBackRest를 사용하고 있다면 스폰서십을 고려해 주세요.
스폰서: AWS, Supabase, pgEdge, Tiger Data, Percona, Eon, Xata, Dalibo, Data Egret.
전체 PostgreSQL 커뮤니티에 혜택을 주는 오픈 소스 인프라에 투자해 주신 스폰서분들께 감사드립니다.
과거 스폰서: Crunchy Data, Resonate.
기여
pgBackRest에 대한 기여는 언제나 환영합니다! 기능, 개선 사항 또는 이슈를 기여하는 방법에 대한 자세한 내용은 기여 지침을 참조하세요.
지원
pgBackRest는 MIT 라이선스에 따라 완전히 무료이며 오픈 소스입니다. 개인적 또는 상업적 목적으로 제한 없이 사용할 수 있습니다. 버그 보고는 매우 진지하게 받아들이며 가능한 한 빨리 처리됩니다. 버그는 여기에 보고해 주세요.
적절한 복제 및 백업 전략을 갖춘 강력한 재해 복구 정책을 수립하는 것은 매우 복잡하고 어려운 작업이 될 수 있습니다. 아키텍처 단계에서 도움이 필요하거나 기업이 계속 원활하게 운영되도록 지속적인 지원이 필요할 수 있습니다.
스폰서들은 pgBackRest 지원을 포함한 제품과 서비스를 제공하며 재해 복구 요구 사항을 도와드릴 수 있습니다.