checkpoint_warning
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 30 seconds ( 30s ) | sighup | integer |
| 15 | 30 seconds ( 30s ) | sighup | integer |
| 16 | 30 seconds ( 30s ) | sighup | integer |
| 17 | 30 seconds ( 30s ) | sighup | integer |
| 18 | 30 seconds ( 30s ) | sighup | integer |
| 19 | 30 seconds ( 30s ) | sighup | integer |
WAL segment 파일이 가득 차서 발생하는 checkpoint가 이 시간보다 촘촘하게 연달아 일어나면 서버 로그에 경고 메시지를 남긴다. 단위 없이 값을 주면 초로 해석하며, 기본값은 30초, 0이면 경고를 끈다. postgresql.conf나 서버 커맨드라인에서만 설정할 수 있다.
이 경고가 찍힌다는 것은 WAL이 max_wal_size에 너무 빨리 도달해 시간 기반이 아닌 용량 기반 checkpoint가 반복되고 있다는 뜻이며, 대체로 max_wal_size를 올려야 한다는 신호다. checkpoint_timeout이 checkpoint_warning보다 작으면 경고는 생성되지 않는다.
운영 노트: 로그에서 “checkpoints are occurring too frequently” 메시지가 반복된다면 대량 적재나 배치 작업이 원인인지 먼저 확인하고, 상시적인 현상이라면
max_wal_size를 늘려 checkpoint 간격을 checkpoint_timeout 주도로 되돌리는 것이 정석이다.출처: PostgreSQL 18 문서