DB 소식 · 2026년 10월 20일 · 공식 릴리스 해설
pgBackRest 2.60.0 업그레이드 주의: 복구 체크섬 오류와 expire 정책이 바뀐다
백업은 경고, 복원과 만료는 오류가 기본값입니다. 데이터 손상을 가리는 대신 먼저 복구 가능성을 확인해야 합니다.

pgBackRest 2.60.0에서 무엇이 달라졌나
2026년 10월 18일 발표된 pgBackRest 2.60.0은 PostgreSQL 백업 및 복원 관리에서 데이터 무결성 판단의 경계를 보다 분명히 했다. 이번 릴리스가 모든 백업을 실패시키거나 자동으로 손상 파일을 수리하는 것은 아니다. 핵심은 체크섬 오류를 감지했을 때 PostgreSQL 백업 복구 명령에 따라 경고와 중단의 기본 처리가 달라졌다는 점이다.
공식 릴리스 문서는 backup은 기존처럼 경고를 기본값으로 유지하지만 restore와 expire는 오류를 기본값으로 사용한다고 설명한다. 따라서 같은 페이지 문제가 있더라도 작업 유형에 따라 대응이 달라질 수 있다. 설치 업데이트 전에 현재 백업에 관련 경고가 기록된 적이 있는지부터 확인하는 것이 바람직하다.

복구 중 체크섬 오류가 발견되면 어떤 일이 생기나
pgBackRest 복구 체크섬 오류가 발생하는 대표 상황은 복원 과정에서 검증 대상 PostgreSQL 페이지에 잘못된 체크섬이 발견되는 경우다. PostgreSQL 페이지 체크섬이 검증되는 해당 파일에서 이상이 발견되면, 2.60.0의 기본 restore는 오류를 내고 중단한다. 이것을 모든 복원에서 반드시 문제가 생긴다는 의미로 읽어서는 안 된다.
pgBackRest restore 실패로 도중에 복원이 중단됐다면 일부 파일만 복원된 클러스터는 완전하지 않으며 실행해서는 안 된다. 공식 문서 역시 이런 클러스터는 시작할 수 없으며 복원을 다시 수행해야 한다고 명시한다. DBA는 데이터 손상 원인을 먼저 조사하고 복원 입력과 원본 백업, 로그를 점검한 다음 정상적인 복구 절차를 새로 시작해야 한다.
운영 중인 생산 데이터베이스를 이 문제 확인만을 위해 직접 덮어쓰는 복구 실험은 피하고, 격리된 시험 환경에서 검증해야 한다. 실패 메시지·백업 ID·저장소 상태·복원 대상 버전을 기록하면 문제의 범위를 특정하는 데 도움이 된다.
expire 오류와 WAL archive 보존 영향
pgBackRest expire 오류는 모든 저장소에서 발생하는 일반적인 만료 실패가 아니다. 이번 변경은 가장 오래된 보존 대상 백업에 페이지 체크섬 오류가 포함되는 상황을 구체적으로 다룬다. 그 경우 기본 expire는 해당 백업을 만료시키지 않고, 같은 저장소의 archive 만료도 막는다.
이는 pgBackRest 백업 보존 정책 측면에서 중요하다. 보존 백업과 WAL archive의 삭제를 막아 저장소 사용량이 예상보다 늘 수 있으므로, 관리자에게 오류가 지속되는 원인을 파악하고 용량 경보를 확인할 근거가 된다. 그러나 특정 환경에서 저장 공간이 얼마나 증가하는지, 만료가 얼마나 오래 막히는지는 공식 발표로부터 정량화할 수 없다.
따라서 저장소 부족을 해결하기 위해 임의로 백업 파일과 WAL을 삭제하거나 오류를 무조건 억제하는 대신, 정상적으로 복원 가능한 백업 세트와 보존 정책의 의존관계를 먼저 검증해야 한다.
checksum-page-error=n은 문제 해결 옵션일까
checksum-page-error=n은 checksum-page-error=n 표기 그대로 오류 대신 경고로 처리하도록 설정하는 옵션이다. pgBackRest backup warning은 기존과 같이 백업 기본 동작이 경고이고, 2.60.0은 백업 마지막에 전체 체크섬 경고 건수를 추가로 표시한다. 반면 restore와 expire는 오류가 기본 동작이다.
중요하게도 이 설정은 손상된 페이지를 복구하거나 원본 데이터의 무결성을 개선하지 않는다. 오류를 경고로 바꾼 채 운영에 반영하면 문제를 늦게 발견할 가능성이 있다. 따라서 이 설정을 모든 운영 환경에 일괄 적용하도록 권하지 않는다. 진단 결과, 비즈니스 위험, 복원 전략, 승인 절차가 갖춰진 상황에서만 사용 여부를 결정해야 한다.
| 명령 | 기본 처리 | 운영 의미 |
|---|---|---|
| backup | 경고 및 경고 총수 보고 | 백업 로그와 데이터 상태 확인 |
| restore | 오류·중단 | 복원 미완료 클러스터 기동 금지 |
| expire | 오류·보존 | 백업과 관련 archive 보존 여부 확인 |
GCS·객체 저장소 개선과 업그레이드 체크리스트
pgBackRest GCS Workload Identity Federation 지원도 2.60.0의 새 기능 중 하나다. 공식 문서는 repo-gcs-key-type=web-id와 외부 계정 자격증명 파일 설정을 설명한다. 이를 통해 서비스 계정 키 없이 토큰 교환이 가능하지만, 서비스 계정 impersonation은 지원하지 않는다고 명시한다. 실제 도입은 클라우드 IAM 및 토큰 회전 설정 확인이 전제다.
pgBackRest 객체 저장소 프리패치는 여러 파일과 범위 읽기 요청을 미리 큐에 넣어 객체 저장소 접근 작업을 효율화하는 기능이다. 릴리스에는 Azure batch 누락 하위 요청 재시도와 원격 keep-alive 개선도 포함된다. 다만 이를 사용자 환경에서의 특정 성능 향상률로 표현할 자료는 없다.
pgBackRest 업그레이드 체크리스트는 기능 자체보다 복원 가능성 검증에 초점을 맞춰야 한다.
- 현행 버전 및 저장소·원격 호스트 버전 일치 여부를 문서화한다.
- 기존 백업 및 체크섬 경고 이력을 확인하고 복원 가능한 세트를 선택한다.
- 스테이징 환경에서 백업·복원 리허설을 실시하고 실패 조건을 기록한다.
- 만료 정책과 WAL archive 보존 영향, 저장소 여유를 확인한다.
checksum-page-error관련 예외 설정은 운영 승인과 위험 평가 후 결정한다.- GCS·객체 저장소 변경은 해당 인증 및 저장소 환경에서 별도 점검한다.
이 글은 실제 클러스터에서 명령을 실행해 재현한 테스트 보고서가 아닌 공식 릴리스 기반 운영 가이드다.

자주 묻는 질문
업그레이드하면 모든 restore가 실패하나요?
아니요. 복원 중 검증 대상 페이지에 잘못된 체크섬이 발견될 때 기본 오류 중단이 발생합니다.
expire 오류가 나면 WAL은 어떻게 되나요?
가장 오래된 보존 대상 백업에 관련 오류가 있으면 해당 저장소 archive의 만료도 막힐 수 있습니다.
checksum-page-error=n으로 손상이 수정되나요?
아니요. 오류를 경고로 바꾸는 처리 옵션이며 손상 자체는 고치지 않습니다.
backup도 무조건 중단되나요?
아닙니다. backup은 기본 경고 처리를 유지하고 종료 시 경고 총수를 표시합니다.
객체 저장소 성능은 얼마나 향상되나요?
사전 요청 기능은 추가됐지만 실제 환경별 속도 향상 수치는 별도 측정이 필요합니다.
운영 적용 전에 가장 먼저 할 일은?
버전 일치, 백업 상태, 복원 리허설, 만료 정책, 저장소 여유를 우선 검토합니다.


