checkpoint_timeout
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | five minutes ( 5min ) | sighup | integer |
| 15 | five minutes ( 5min ) | sighup | integer |
| 16 | five minutes ( 5min ) | sighup | integer |
| 17 | five minutes ( 5min ) | sighup | integer |
| 18 | five minutes ( 5min ) | sighup | integer |
| 19 | five minutes ( 5min ) | sighup | integer |
자동 WAL checkpoint 사이의 최대 시간 간격을 정한다. 단위 없이 값을 주면 초로 해석하며, 유효 범위는 30초에서 하루까지, 기본값은 5분이다. 이 파라미터는 postgresql.conf나 서버 커맨드라인에서만 설정할 수 있다.
PostgreSQL은 이 간격이 지나면 checkpoint를 일으켜 그동안 변경된 buffer를 디스크에 반영한다. 간격을 길게 잡으면 checkpoint가 뜸해져 평소 I/O 부담이 줄지만, 한 번에 재생해야 할 WAL 양이 많아져 crash recovery 시간이 길어진다. 반대로 짧게 잡으면 checkpoint가 잦아 복구는 빨라지지만 I/O 부하가 커진다.
운영 노트:
checkpoint_timeout과 max_wal_size 중 먼저 도달하는 조건에 따라 checkpoint가 발생한다. 둘을 함께 조율해 checkpoint 빈도와 복구 시간 사이의 균형을 맞추는 것이 핵심이다.출처: PostgreSQL 18 문서