본문으로 건너뛰기

log_transaction_sample_rate

transaction 단위로 표본을 뽑아, 선택된 transaction의 모든 statement를 log에 남길 비율을 정합니다.

다른 이유로 기록되는 statement에 더해, 표본으로 뽑힌 transaction은 안에 있는 statement가 duration과 무관하게 전부 기록됩니다. sampling은 새 transaction마다 확률적으로 적용되어, 예를 들어 0.1이면 transaction 하나하나가 통계적으로 10분의 1 확률로 선택됩니다. 기본값은 0으로 추가 기록을 하지 않으며, 1로 설정하면 모든 transaction의 모든 statement를 기록합니다.

statement 단위로 표본을 뽑는 log_statement_sample_rate와 달리 transaction 전체가 통째로 남기 때문에, 애플리케이션이 한 transaction 안에서 어떤 순서로 쿼리를 실행하는지 문맥을 보존한 표본을 얻을 수 있습니다.

노트

운영 노트: 모든 statement-logging 옵션이 그렇듯 오버헤드가 상당할 수 있습니다. transaction 패턴 분석이 필요할 때 0.001~0.01처럼 낮은 값으로 시작해 log 볼륨을 확인하면서 조정하는 것이 안전합니다.

출처: PostgreSQL 18 문서