log_destination
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | to log to stderr only | sighup | string |
| 15 | to log to stderr only | sighup | string |
| 16 | to log to stderr only | sighup | string |
| 17 | to log to stderr only | sighup | string |
| 18 | to log to stderr only | sighup | string |
| 19 | to log to stderr only | sighup | string |
서버 log를 내보낼 대상을 정한다. stderr, csvlog, jsonlog, syslog를 지원하고 Windows에서는 eventlog도 쓸 수 있다.
comma로 구분해 여러 대상을 동시에 지정할 수 있으며, 기본값은 stderr 하나다. csvlog와 jsonlog는 log를 프로그램으로 적재해 분석하기 좋은 형식인데, 두 형식 모두 logging_collector가 켜져 있어야 생성된다. stderr, csvlog, jsonlog 중 하나라도 포함되면 현재 사용 중인 log 파일 위치를 기록한 current_logfiles 파일이 만들어져, 인스턴스가 지금 어떤 log 파일을 쓰는지 쉽게 찾을 수 있다.
syslog로 보내려면 대부분의 Unix 시스템에서 syslog daemon 설정을 함께 손봐야 한다. PostgreSQL은 LOCAL0~LOCAL7 facility로 메시지를 보낼 수 있지만(syslog_facility 참고), 기본 syslog 설정은 이런 메시지를 버리는 경우가 많아 local0.* /var/log/postgresql 같은 규칙을 daemon 설정에 추가해야 한다.
운영 노트: pgBadger 같은 분석 도구나 log 수집 파이프라인에 넣을 계획이라면 stderr에 csvlog 또는 jsonlog를 병행 지정하는 구성이 편하다. 이때
logging_collector = on이 전제 조건이다.출처: PostgreSQL 18 문서