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