the토토 결과
모듈은 실행할 필요없이 느린 문의 실행 계획을 자동으로 로깅 할 수있는 수단을 제공합니다설명손으로. 이것은 대규모 응용 프로그램에서 최적화되지 않은 쿼리를 추적하는 데 특히 도움이됩니다.
모듈은 SQL 액세스 가능 함수를 제공하지 않습니다. 사용하려면 서버에로드하십시오.
로드 '토토 결과';
(당신은 그렇게하려면 슈퍼업자가되어야합니다.) 더 일반적인 사용은를 포함하여 일부 또는 모든 세션에 사전로드하는 것입니다.토토 결과
insession_preload_libraries또는shared_preload_librariesinpostgresql.conf
. 그런 다음 언제 발생하든 예기치 않게 느린 쿼리를 추적 할 수 있습니다.
동작을 제어하는 몇 가지 구성 매개 변수가 있습니다.토토 결과
. 기본 동작은 아무것도하지 않는 것이므로 최소한 설정해야합니다토토 결과.log_min_duration
결과가 원하는 경우
토토 결과.log_min_duration
(정수
) #토토 결과.log_min_duration
는 최소 명령문 실행 시간 (밀리 초)로 명세서의 계획이 기록되게합니다. 이것을 설정0
모든 계획을 기록합니다.-1
(기본값)는 계획의 로깅을 비활성화합니다. 예를 들어,로 설정하면250ms
그러면 250ms 이상 실행되는 모든 진술이 기록됩니다. 수퍼 유저만이 설정을 변경할 수 있습니다.
토토 결과.log_parameter_max_length
(정수
) #토토 결과.log_parameter_max_length
쿼리 매개 변수 값의 로깅을 제어합니다.-1
(기본값) 매개 변수 값을 전체로 기록합니다.0
매개 변수 값의 로깅을 비활성화합니다. 0보다 큰 값은 각 파라미터 값을 많은 바이트로 잘라냅니다.
토토 결과.log_analyze
(부울
) #토토 결과.log_analyze
원인분석 설명
그냥보다는 출력설명
output, 실행 계획이 기록 될 때 인쇄 할 예정입니다. 이 매개 변수는 기본적으로 꺼져 있습니다.
이 매개 변수가 켜져 있으면 실제로 로그인 할 수있을 정도로 오래 실행되는지 여부에 관계없이 실행 된 모든 문에 대해 플랜 노드 타이밍이 발생합니다. 이것은 성능에 매우 부정적인 영향을 줄 수 있습니다.토토 결과.log_timing
정보가 적은 가격으로 성능 비용을 개선합니다.
토토 결과.log_buffers
(부울
) #토토 결과.log_buffers
실행 계획이 기록 될 때 버퍼 사용 통계가 인쇄되는지 여부를 제어합니다. 에 해당합니다.버퍼
옵션설명
. 이 매개 변수는 효과가 없습니다토토 결과.log_analyze
가 활성화되었습니다. 이 매개 변수는 기본적으로 꺼져 있습니다.
토토 결과.log_wal
(부울
) #토토 결과.log_wal
실행 계획이 기록 될 때 WAL 사용 통계가 인쇄되는지 여부를 제어합니다. 에 해당합니다.Wal
옵션설명
. 이 매개 변수는 효과가 없습니다토토 결과.log_analyze
가 활성화되었습니다. 이 매개 변수는 기본적으로 꺼져 있습니다.
토토 결과.log_timing
(부울
) #토토 결과.log_timing
실행 계획이 기록 될 때 노드 당 타이밍 정보가 인쇄되는지 여부를 제어합니다. 에 해당합니다.타이밍
옵션설명
. 시스템 시계를 반복적으로 읽는 오버 헤드는 일부 시스템에서 쿼리를 크게 느리게 할 수 있으므로 실제 행만 계산하지 않고 정확한 시간 만 필요할 때이 매개 변수를 OFF로 설정하는 것이 유용 할 수 있습니다.토토 결과.log_analyze
가 활성화되었습니다. 이 매개 변수는 기본적으로 켜져 있습니다.
토토 결과.log_triggers
(부울
) #토토 결과.log_triggers
실행 계획이 기록 될 때 트리거 실행 통계가 포함되도록합니다. 이 매개 변수는 효과가 없습니다토토 결과.log_analyze
가 활성화되었습니다. 이 매개 변수는 기본적으로 꺼져 있습니다.
토토 결과.log_verbose
(부울
) #토토 결과.log_verbose
실행 계획이 기록 될 때 동점 세부 사항이 인쇄되는지 여부를 제어합니다. 에 해당합니다.Verbose
옵션설명
. 이 매개 변수는 기본적으로 꺼져 있습니다.
토토 결과.log_settings
(부울
) #토토 결과.log_settings
실행 계획이 기록 될 때 수정 된 구성 옵션에 대한 정보가 인쇄되는지 여부를 제어합니다. 내장 기본값과 다른 값이있는 쿼리 계획에 영향을 미치는 옵션 만 출력에 포함됩니다.
토토 결과.log_format
(enum
) #토토 결과.log_format
선택설명
사용할 출력 형식. 허용 값은입니다.텍스트
, XML
, JSON
및yaml
. 기본값은 텍스트입니다.
토토 결과.log_level
(enum
) #토토 결과.log_level
토토 결과이 쿼리 계획을 기록하는 로그 레벨을 선택합니다. 유효한 값은Debug5
, Debug4
, Debug3
, Debug2
, Debug1
, Info
, 통지
, 경고
및log
. 기본값은log
. 수퍼 유저만이 설정을 변경할 수 있습니다.
토토 결과.log_nested_statements
(부울
) #토토 결과.log_nested_statements
로깅을 위해 중첩 된 명령문 (함수 내부에서 실행 된 명령문)을 유발합니다. 꺼지면 최상위 쿼리 계획 만 기록됩니다.
토토 결과.sample_rate
(Real
) #토토 결과.sample_rate
토토 결과이 각 세션에서 진술의 일부만 설명합니다. 기본값은 1이므로 모든 쿼리를 설명합니다.
일반적인 사용 에서이 매개 변수는에 설정됩니다.postgresql.conf
, 슈퍼 사용자는 자신의 세션 내에서 비행기를 변경할 수 있지만. 일반적인 사용법은 다음과 같습니다.
# postgresql.conf
Takahiro Itagaki<itagaki.takahiro@oss.ntt.co.jp
올바른 문서에 아무것도 표시되면 일치하지 않습니다.이 양식문서 문제를보고하려면