본문으로 건너뛰기
log_truncate_on_rotation

log_truncate_on_rotation

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

시간 기반 rotation으로 같은 이름의 log 파일을 다시 열 때, 이어 쓰지 않고 truncate(덮어쓰기)하도록 한다.

logging_collector가 켜져 있어야 동작한다. truncate는 시간 기반 rotation으로 새 파일을 열 때만 일어나며, 서버 시작이나 크기 기반 rotation 때는 기존 파일에 이어 쓴다. off면 어떤 경우든 기존 파일에 이어 쓴다.

이 파라미터의 진가는 log_filename의 시간 형식과 조합했을 때 나온다. 예를 들어 log_filenamepostgresql-%H.log로 두고 이 값을 on으로 하면 시간별 log 파일 24개가 만들어지고 하루가 지나면 순환하며 덮어써진다. 7일 치 log를 요일별 파일로 보관하려면 log_filenameserver_log.%a, 이 값을 on, log_rotation_age를 1440(분)으로 설정하면 지난주 파일이 이번 주 log로 자동으로 대체된다.

운영 노트: 외부 logrotate 도구 없이 고정 기간 순환 보관을 구현하는 표준 패턴이다. 다만 크기 기반 rotation이 함께 일어날 수 있다면 log_filename%M을 포함해 크기 기준으로 만들어지는 파일이 다른 이름을 갖도록 해야 log 유실을 피할 수 있다.

출처: PostgreSQL 18 문서