실행 시간 로그 설정 점검이 필요한 PostgreSQL

PostgreSQL 실행 시간 로그는 느린 작업과 성능 문제를 조사하는 자료가 됩니다.

설명

log_duration은 완료된 SQL 문의 소요 시간을 기록합니다. 이 설정을 끄면 해당 기록은 남지 않지만, 별도의 느린 쿼리 로깅이나 성능 도구가 정보를 제공할 수도 있습니다. log_duration만 켜서는 SQL 문장 자체가 자동으로 기록되지는 않습니다.

잠재적 영향

  • 실행 시간 자료가 부족하면 성능 저하 시점과 원인을 조사하기 어려울 수 있습니다.
  • 적절한 다른 측정 수단이 없으면 쿼리 최적화 효과를 비교하기 어려울 수 있습니다.

해결 방법

  • 전체 실행 시간 기록이 필요하면 현재 서비스의 log_duration을 on으로 설정하세요.
  • 느린 문장만 필요하다면 요구 사항에 맞는 log_min_duration_statement 임계값을 검토하세요.
  • 로그 양과 성능 영향을 측정하고, SQL을 함께 기록할 때는 민감정보와 접근 권한도 관리하세요.

예시

첫 예제는 2025년 3월 28일 종료된 Single Server용입니다. 두 번째는 azure.azcollection 3.18.0 이상으로 기존 Flexible Server에 적용하는 설정 발췌입니다.

변경 전

yaml
- name: PostgreSQL 설정 변경
  azure.azcollection.azure_rm_postgresqlconfiguration:
    resource_group: myResourceGroup
    server_name: myServer
    name: log_duration
    value: "off"

log_duration을 통한 실행 시간 기록을 비활성화합니다. 다른 성능 측정 수단까지 끄는 설정은 아닙니다.

변경 후

yaml
- name: PostgreSQL 설정 변경
  azure.azcollection.azure_rm_postgresqlflexibleconfiguration:
    resource_group: myResourceGroup
    server_name: myServer
    name: log_duration
    value: "on"

완료된 문장의 소요 시간을 기록합니다. 기록량과 수집 비용을 확인하고 필요한 보존 기간을 설정하세요.

참조