본문으로 건너뛰기
archive_cleanup_command

archive_cleanup_command

버전기본값context타입
14sighupstring
15sighupstring
16sighupstring
17sighupstring
18sighupstring
19sighupstring

restartpoint마다 실행할 shell 명령을 지정한다. standby 서버가 더 이상 필요로 하지 않는 오래된 archive WAL 파일을 정리하는 용도의 선택적 파라미터이며, postgresql.conf나 서버 커맨드라인에서만 설정할 수 있다.

명령 문자열의 %r은 마지막 유효 restart point를 담은 파일 이름으로 치환된다. 이 파일은 restore를 재시작 가능하게 유지하기 위해 보존해야 하는 가장 오래된 파일이므로, %r보다 앞선 파일은 모두 안전하게 삭제할 수 있다. 단일 standby 구성에서는 pg_archivecleanup 모듈을 흔히 사용한다. 예를 들면 archive_cleanup_command = 'pg_archivecleanup /mnt/server/archivedir %r' 형태다. % 문자 자체를 넣으려면 %%로 쓴다.

명령이 0이 아닌 종료 코드를 반환하면 warning 로그가 남고, 시그널이나 shell 오류(명령을 찾을 수 없음 등)로 종료되면 fatal 오류가 발생한다.

운영 노트: 여러 standby 서버가 같은 archive 디렉토리에서 restore하는 구성이라면, 어느 서버도 더 이상 필요로 하지 않는 WAL 파일만 삭제되도록 정리 로직을 직접 보장해야 한다. 한 standby 기준으로만 지우면 다른 standby의 recovery가 깨질 수 있다.

출처: PostgreSQL 18 문서