본문으로 건너뛰기
checkpoint_timeout

checkpoint_timeout

버전기본값context타입
14five minutes ( 5min )sighupinteger
15five minutes ( 5min )sighupinteger
16five minutes ( 5min )sighupinteger
17five minutes ( 5min )sighupinteger
18five minutes ( 5min )sighupinteger
19five minutes ( 5min )sighupinteger

자동 WAL checkpoint 사이의 최대 시간 간격을 정한다. 단위 없이 값을 주면 초로 해석하며, 유효 범위는 30초에서 하루까지, 기본값은 5분이다. 이 파라미터는 postgresql.conf나 서버 커맨드라인에서만 설정할 수 있다.

PostgreSQL은 이 간격이 지나면 checkpoint를 일으켜 그동안 변경된 buffer를 디스크에 반영한다. 간격을 길게 잡으면 checkpoint가 뜸해져 평소 I/O 부담이 줄지만, 한 번에 재생해야 할 WAL 양이 많아져 crash recovery 시간이 길어진다. 반대로 짧게 잡으면 checkpoint가 잦아 복구는 빨라지지만 I/O 부하가 커진다.

운영 노트: checkpoint_timeoutmax_wal_size 중 먼저 도달하는 조건에 따라 checkpoint가 발생한다. 둘을 함께 조율해 checkpoint 빈도와 복구 시간 사이의 균형을 맞추는 것이 핵심이다.

출처: PostgreSQL 18 문서