설명
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"
완료된 문장의 소요 시간을 기록합니다. 기록량과 수집 비용을 확인하고 필요한 보존 기간을 설정하세요.