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