Azure PostgreSQL 쿼리 수행 시간 로그 설정 점검

운영 요구에 맞게 쿼리 수행 시간을 수집하고 로그 부하를 관리하세요.

설명

log_duration은 완료된 문장의 실행 시간을 기록합니다. 필요한 시간 기록이 없으면 성능 저하와 부하 증가를 조사하기 어려울 수 있습니다. 이 설정만으로 쿼리 본문이 기록되지는 않으며, 모든 환경에서 모든 문장의 시간을 기록해야 하는 것은 아닙니다.

잠재적 영향

  • 성능 문제를 분석할 실행 시간 자료가 부족할 수 있습니다.
  • 로그 수집 기준이 부적절하면 저장량과 운영 부하가 커질 수 있습니다.

해결 방법

수행 시간 기록이 필요하면 Flexible Server의 log_duration을 on으로 설정하고 실제 로그를 확인하세요. 느린 쿼리만 기록하려면 log_min_duration_statement 등 목적에 맞는 설정도 검토하세요. 로그의 접근 권한, 보존 기간과 수집량을 함께 관리하세요.

예시

변경 전은 종료된 Single Server의 설정입니다. 변경 후는 기존 Flexible Server에 적용하는 시간 기록 설정이며 서버 자체의 구성은 생략했습니다.

변경 전

hcl
resource "azurerm_postgresql_configuration" "example" {
  name                = "log_duration"
  resource_group_name = "example_resource_group_name"
  server_name         = "example_server_name"
  value               = "OFF"
}

변경 후

hcl
resource "azurerm_postgresql_flexible_server_configuration" "example" {
  name      = "log_duration"
  server_id = azurerm_postgresql_flexible_server.example.id
  value     = "on"
}

변경 후는 완료된 문장의 실행 시간을 기록합니다. 쿼리 본문이나 감사 정보가 필요하면 해당 로깅을 별도로 구성하세요.

참조