안녕하세요
streaming replication 을 사용하고 있고
하루 한번 풀백업 그 이후는 아카이브 로그파일을 남기는 식으로
관리를 하려합니다.
근데 아카이브 로그 파일을 지우는 옵션은
수동으로 pg_archivecleanup 커맨드 실행하는 방법 밖에 없는 건가요?
혹시 아카이브로그 파일 갯수, 생성일자에 따라 자동으로 지우게 하는 설정이 있는지 궁금합니다.
pg_archivecleanup 명령은 복제 작업에서 archive_cleanup_command 설정값으로 사용하려고 만든 프로그램입니다.
(자세한 사용법은 설명서 참고)
그래서, 온라인 전체 백업과 그 뒤에 쌓이는 아카이브 조각 파일들에 대한 정리 작업은 일반적으로 관리자가 알아서 자신의 환경에 맞게 정기 작업 스크립트를 만들어서 사용합니다.
가장 손쉬운 방법은 데이터베이스 서버가 운영 되고 있는 호스트에 아카이브 조각 파일을 보관하고, 그것을 다시 백업 장비로 옮기는 방식이라면,
정기 작업 예약 기능(리눅스라면 crontab)을 이용해서 정리하는 스크립트를 주기적으로 실행하는 방법이겠죠.
그 외 아에, archive_command 를 이용해서 바로 백업 서버 쪽으로 아카이브 조각 파일을 보낸다면, 그 보내기 작업 완료 뒤, 바로 지우는 방법도 있습니다.
결론: 잘 알아서 하세요. 단 그 수 많은 조각 파일들이 순차적으로 모두 있어야 하는 것, 즉 가운데 어느 한 파일이 없는 경우가 생기지 않게 하는 것 이것만 잘 지키면 됩니다.