log_statement_sample_rate
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 1 | superuser | string |
| 15 | 1 | superuser | string |
| 16 | 1 | superuser | string |
| 17 | 1 | superuser | string |
| 18 | 1 | superuser | string |
| 19 | 1 | superuser | string |
duration이 log_min_duration_sample을 넘긴 statement 중 실제로 log에 남길 비율을 정한다.
sampling은 확률적으로 동작한다. 예를 들어 0.5로 설정하면 조건에 걸린 statement 하나하나가 통계적으로 절반의 확률로 기록된다. 기본값은 1.0으로, sampling 대상이 된 statement를 모두 기록한다. 0으로 설정하면 표본 기반 duration logging이 꺼지며, 이는 log_min_duration_sample을 -1로 두는 것과 같다.
이 파라미터는 log_min_duration_sample과 한 쌍으로 동작한다. duration이 log_min_duration_statement를 넘는 statement는 sampling과 무관하게 항상 기록된다는 점도 함께 기억해 두자.
운영 노트: 트래픽이 많은 서비스에서 낮은 duration 임계값을 걸고 싶을 때, 이 값을 0.01~0.1 수준으로 두면 log 볼륨을 통제하면서 느린 쿼리의 분포를 표본으로 관찰할 수 있다.
출처: PostgreSQL 18 문서