오퍼링 > 소프트웨어 테크놀로지 서비스 > 오픈소스 SW > DBMS > 자료실

오픈소스 SW 자료실 - DBMS

오픈소스 DBMS 관련 기술서비스 정보 및 자료를 제공합니다.

[FAQ/PostgreSQL] 로그 레벨을 설정하려면 어떻게 해야 하나요?

2021.02.05

Question


PostgreSQL의 로그 파일에 남는 로그들의 레벨을 원하는 수준으로 지정하고 싶습니다.





Answer


postgresql.conf 파일에서 아래와 같은 파라메타들을 통해 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 를 참고해 주시기 바랍니다.