체크포인트 로그가 비활성화된 PostgreSQL

PostgreSQL 체크포인트 로그가 비활성화되면 I/O와 성능 문제를 분석할 근거가 줄어듭니다.

설명

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"

체크포인트 로깅을 활성화합니다. 서버와 인증 설정은 실제 환경에 맞추고, 로그가 수집되는지 확인하세요.

참조