Avatar
임호현
좋아요
댓글
[FAQ/PG] 로그 레벨을 설정하려면 어떻게 해야 하나요?

Question.

로그 레벨을 설정하려면 어떻게 해야 하나요?

 

Answer.

postgresql.conf 파일의 parameter를 통해 PostgreSQL 로그 레벨을 설정할 수 있습니다.

client_min_messages

클라이언트에 보낼 메시지 수준을 제어합니다.
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, WARNING, ERROR 값들을 설정할 수 있습니다.
각 레벨 순서대로 뒤 레벨의 수준을 포함하고 있습니다.
레벨이 낮을수록(아래쪽일수록) 더 적은 메시지만 전송됩니다.
default 값은 NOTICE 입니다.

log_min_messages(enum)

서버 로그에 기록되는 메시지 수준을 제어합니다.
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, PANIC 값들을 설정할 수 있습니
다.
각 레벨 순서대로 뒤 레벨의 수준을 포함하고 있습니다.
레벨이 낮을수록(아래쪽일수록) 로그에 보내는 메시지 수가 줄어듭니다.
default 값은 WARNING 입니다.

log_min_error_statement

에러를 발생시키는 SQL문을 서버 로그에 기록합니다.
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, PANIC 값들을 설정할 수 있습니
다.
현재 SQL문은 지정된 수준 이상의 메시지에 대한 로그 항목에 포함됩니다.
default 값은 ERROR 입니다.

log_min_duration_statement

명령문이 적어도 지정된 밀리 초 동안 실행되면 완료된 각 명령문의 지속 기간을 기록합니다.
‘0’ : 모든 명령문의 지속 시간을 기록합니다.
‘-1’ : 로깅 문장의 기간을 비활성화 합니다.
‘int’ : e.g. 250ms로 설정하면 250ms 이상 실행되는 모든 SQL문이 기록됩니다.
이 매개변수를 활용하면 Application에서 최적화 되지 않은 Query를 추적하는데 도움이 됩니다.
확장 Query Protocol을 사용하는 클라이언트의 경우 Parse / Bind / Execute 단계의 기간은 독립적으로 기록됩니다.


더 자세한 내용은 https://www.postgresql.org/docs/current/runtime-config-logging.html 를 참고해 주시기 바랍니다.