본문으로 건너뛰기
checkpoint_completion_target

checkpoint_completion_target

버전기본값context타입
140sighupstring
150sighupstring
160sighupstring
170sighupstring
180sighupstring
190sighupstring

checkpoint를 완료하기까지의 목표 시점을, checkpoint 간격 전체 시간에 대한 비율로 정한다. 기본값은 0.9다.

기본값 0.9는 checkpoint 작업을 사용 가능한 간격의 거의 전체에 걸쳐 분산시킨다. 이렇게 하면 I/O 부하가 한쪽에 몰리지 않고 비교적 고르게 퍼져, checkpoint로 인한 디스크 쓰기 폭주를 완화하면서 마무리에 필요한 약간의 여유 시간도 남긴다.

이 값을 줄이는 것은 권장하지 않는다. 값을 낮추면 checkpoint를 더 빨리 끝내게 되는데, 그러면 checkpoint 동안 I/O가 높게 치솟았다가 다음 checkpoint 전까지 I/O가 한산한 구간이 생겨 부하가 들쭉날쭉해진다. 이 파라미터는 postgresql.conf나 서버 커맨드라인에서만 설정할 수 있다.

운영 노트: 특별한 이유가 없으면 기본값 0.9를 그대로 두는 것이 좋다. checkpoint I/O를 간격 전체에 분산시켜 쓰기 부하가 고르게 퍼지도록 하는 설계 의도에 가장 잘 맞는 값이다.

출처: PostgreSQL 18 문서