4.2 Recovery target
Recovery target은 time, transaction ID, named restore point, LSN, immediate 중 하나로 지정할 수 있습니다. 업무 사건과 정확히 연결할 수 있는 marker를 선택합니다.
restore_command = 'cp /archive/%f %p'
recovery_target_time = '2026-09-01 10:14:30+09'
recovery_target_action = 'pause'
PostgreSQL 12 이상에서는 data directory에 recovery.signal을 만들고 recovery 설정을 postgresql.conf 계열에 둡니다.
touch "$PGDATA/recovery.signal"
안전한 순서
- Incident timestamp와 timezone을 확정합니다.
- 목표 이전의 base backup을 선택합니다.
- 별도 target에 restore합니다.
- Target 직전에서 pause합니다.
- Data를 검증합니다.
- 필요하면 recovery를 재시작하거나 다른 target으로 다시 restore합니다.
recovery_target_inclusive는 지정 transaction, LSN, time을 포함할지 결정합니다. Time 기반 target은 application event, database log와 clock synchronization을 확인합니다.
삭제된 일부 data만 필요하다면 PITR cluster를 별도로 띄운 뒤 logical export로 production에 되돌리는 방식이 production 전체 rewind보다 안전할 수 있습니다.