이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : F.3. 토토 결과 - 느린 쿼리의 로그 실행 계획버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.3. 사설 토토 사이트

사설 토토 사이트모듈은 다음을 제공합니다. 느린 명령문의 실행 계획을 자동으로 기록하는 수단, 달리지 않고도PostgreSQL : 문서 : 9.3 : 와이즈 토토작성자 손. 이는 최적화되지 않은 항목을 추적하는 데 특히 유용합니다. 대규모 애플리케이션에서의 쿼리.

모듈은 SQL 액세스 기능을 제공하지 않습니다. 그것을 사용하려면, 간단히 서버에 로드하면 됩니다. 개인별로 로드할 수 있습니다. 세션:

LOAD '사설 토토 사이트';

(그렇게 하려면 수퍼유저여야 합니다.) 보다 일반적인 사용법은 다음과 같습니다. 포함하여 모든 세션에 미리 로드합니다.사설 토토 사이트inshared_preload_librariesin사설 토토 사이트.conf. 그러면 추적할 수 있습니다 언제 발생하든 쿼리가 예기치 않게 느려집니다. 물론이다 이에 대한 오버헤드 비용이 있습니다.

F.3.1. 구성 매개변수

다음을 제어하는 여러 구성 매개변수가 있습니다. 의 행동사설 토토 사이트. 참고 기본 동작은 아무것도 하지 않는 것이므로 최소한 설정해야 합니다.사설 토토 사이트.log_min_duration원한다면 어떤 결과라도.

사설 토토 사이트.log_min_duration (정수)

사설 토토 사이트.log_min_duration이것은 최소 명령문 실행 시간(밀리초) 명령문의 기록 계획. 이것을 0으로 설정하면 모든 로그가 기록됩니다. 계획. 마이너스 1(기본값)은 계획 로깅을 비활성화합니다. 에 대한 예를 들어, 다음과 같이 설정하면250ms그러면 모두 250ms 이상 실행되는 명령문은 기록됩니다. 슈퍼유저만 이 설정을 변경할 수 있습니다.

사설 토토 사이트.log_analyze (부울)

사설 토토 사이트.log_analyze원인분석 설명단지 출력이 아닌 출력설명출력, 다음 경우에 인쇄됩니다. 실행 계획이 기록됩니다. 이 매개변수는 기본적으로 꺼져 있습니다. 만 슈퍼유저는 이 설정을 변경할 수 있습니다.

참고:이 매개변수가 켜져 있으면 계획 노드별 타이밍 오래 실행되는지 여부에 관계없이 실행되는 모든 명령문에 대해 발생합니다. 실제로 기록되기에 충분합니다. 이는 매우 부정적인 영향을 미칠 수 있습니다. 성능에 영향을 미칩니다. 끄는 중사설 토토 사이트.log_timing성능 개선 더 적은 정보를 얻는 대가로 비용이 발생합니다.

사설 토토 사이트.log_buffers (부울)

사설 토토 사이트.log_buffers제어 실행 계획 시 버퍼 사용량 통계를 출력할지 여부 기록됩니다; 이는 다음과 같습니다.버퍼옵션설명. 이 매개변수에는 그렇지 않은 경우 효과사설 토토 사이트.log_analyze이다 활성화되었습니다. 이 매개변수는 기본적으로 꺼져 있습니다. 슈퍼유저만 가능 이 설정을 변경하세요.

사설 토토 사이트.log_timing (부울)

사설 토토 사이트.log_timing제어 실행 시 노드별 타이밍 정보를 인쇄할지 여부 계획이 기록되었습니다. 이는 다음과 같습니다.타이밍옵션설명. 시스템 시계를 반복적으로 읽는 오버헤드로 인해 속도가 느려질 수 있습니다. 일부 시스템에서는 쿼리가 크게 발생하므로 다음을 설정하는 것이 유용할 수 있습니다. 실제 행 개수만 계산되고 정확하지 않은 경우에는 이 매개변수를 끄세요. 번, 필요합니다. 이 매개변수는 다음을 제외하고는 효과가 없습니다.사설 토토 사이트.log_analyze활성화되었습니다. 이 매개변수 기본적으로 켜져 있습니다. 슈퍼유저만 이 설정을 변경할 수 있습니다.

사설 토토 사이트.log_verbose (부울)

사설 토토 사이트.log_verbose제어 실행 계획이 실행될 때 자세한 세부 정보가 인쇄되는지 여부 기록됨; 이는 다음과 같습니다.상세옵션설명. 이 매개변수는 꺼져 있습니다. 기본적으로. 슈퍼유저만 이 설정을 변경할 수 있습니다.

사설 토토 사이트.log_format (열거형)

사설 토토 사이트.log_format선택설명출력 형식을 사용할 것입니다. 는 허용되는 값은 다음과 같습니다.텍스트, xml, jsonyaml. 기본값은 텍스트입니다. 슈퍼유저만 가능 이 설정을 변경하세요.

사설 토토 사이트.log_nested_statements (부울)

사설 토토 사이트.log_nested_statements중첩된 문(함수 내에서 실행되는 문)을 발생시킵니다. 로깅을 고려하십시오. 꺼져 있으면 최상위 쿼리만 계획이 기록됩니다. 이 매개변수는 기본적으로 꺼져 있습니다. 슈퍼유저만 이 설정을 변경할 수 있습니다.

일반적인 사용에서 이 매개변수는 다음에서 설정됩니다.사설 토토 사이트.conf(수퍼유저가 변경할 수 있음) 자체 세션 내에서 즉석에서. 일반적인 사용법은 다음과 같습니다:

# 사설 토토 사이트.conf
shared_preload_libraries = '사설 토토 사이트'

사설 토토 사이트.log_min_duration = '3초'

F.3.2. 예시

postgres=# LOAD '사설 토토 사이트';
postgres=# SET 사설 토토 사이트.log_min_duration = 0;
postgres=# SET 사설 토토 사이트.log_analyze = true;
postgres=# 선택 개수(*)
           pg_class, pg_index에서
           여기서 oid = indrelid AND indisunique;

이렇게 하면 다음과 같은 로그 출력이 생성될 수 있습니다.

로그: 기간: 3.651ms 계획:
  쿼리 텍스트: SELECT 개수(*)
              pg_class, pg_index에서
              WHERE oid = indrelid AND indisunique;
  집계(비용=16.79..16.80행=1너비=0)(실제 시간=3.626..3.627행=1루프=1)
    - 해시 조인(비용=4.17..16.55행=92너비=0)(실제 시간=3.349..3.594행=92루프=1)
          해시 조건: (pg_class.oid = pg_index.indrelid)
          - pg_class의 시퀀스 스캔(비용=0.00..9.55행=255너비=4)(실제 시간=0.016..0.140행=255루프=1)
          - 해시(비용=3.02..3.02행=92너비=4)(실제 시간=3.238..3.238행=92루프=1)
                버킷: 1024 배치: 1 메모리 사용량: 4kB
                - pg_index의 Seq 스캔(비용=0.00..3.02행=92너비=4)(실제 시간=0.008..3.187행=92루프=1)
                      필터: indisunique