설명
log_checkpoints는 체크포인트와 재시작점의 수행 정보, 기록한 버퍼 수와 소요 시간 등을 서버 로그에 남깁니다. 이 로그가 없으면 I/O 급증이나 비정상적인 체크포인트 빈도를 분석하기 어렵습니다. 로그를 끄는 것은 체크포인트 자체를 중지하는 것과 다릅니다.
잠재적 영향
- 디스크 쓰기 부하와 응답 지연의 관계를 파악하기 어려울 수 있습니다.
- 장애 조사와 성능 조정에 필요한 기록이 부족할 수 있습니다.
해결 방법
- 현재 사용하는 PostgreSQL 서비스에서
log_checkpoints를on으로 설정하세요. Azure에서는 해당 서비스의 서버 매개변수 설정을 사용하세요. - 로그를 성능 지표와 함께 검토하고, 실제 수집 여부와 보존 기간을 확인하세요.
예시
첫 예제의 Single Server는 2025년 3월 28일 종료되었습니다. 두 번째는 기존 Flexible Server에 적용할 설정이며 azure.azcollection 3.18.0 이상의 모듈을 사용합니다.
변경 전
yaml
- name: PostgreSQL 설정 변경
azure.azcollection.azure_rm_postgresqlconfiguration:
resource_group: myResourceGroup
server_name: myServer
name: log_checkpoints
value: "off"
체크포인트 로깅이 꺼져 있습니다. 체크포인트는 계속 수행되지만 이 설정이 제공하는 진단 기록은 남지 않습니다.
변경 후
yaml
- name: PostgreSQL 설정 변경
azure.azcollection.azure_rm_postgresqlflexibleconfiguration:
resource_group: myResourceGroup
server_name: myServer
name: log_checkpoints
value: "on"
체크포인트 로깅을 활성화합니다. 서버와 인증 설정은 실제 환경에 맞추고, 로그가 수집되는지 확인하세요.