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

F.3. 사설 토토 사이트

사설 토토 사이트모듈은 실행하지 않고도 느린 명령문의 실행 계획을 자동으로 기록하는 수단을 제공합니다.PostgreSQL : 문서 : 9.6 : 스포츠 토토 결과손으로. 이는 대규모 애플리케이션에서 최적화되지 않은 쿼리를 추적하는 데 특히 유용합니다.

모듈은 SQL 액세스 가능한 기능을 제공하지 않습니다. 이를 사용하려면 서버에 로드하기만 하면 됩니다. 개별 세션에 로드할 수 있습니다.

LOAD '사설 토토 사이트';

(그렇게 하려면 수퍼유저여야 합니다.) 보다 일반적인 사용법은 이를 포함하여 일부 또는 모든 세션에 미리 로드하는 것입니다.사설 토토 사이트insession_preload_libraries또는shared_preload_librariesinpostgresql.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실행 계획이 기록될 때 노드별 타이밍 정보가 인쇄되는지 여부를 제어합니다. 이는 다음과 같습니다.타이밍옵션설명. 시스템 시계를 반복적으로 읽는 오버헤드로 인해 일부 시스템에서는 쿼리 속도가 크게 느려질 수 있으므로 정확한 시간이 아닌 실제 행 개수만 필요한 경우 이 매개변수를 off로 설정하는 것이 유용할 수 있습니다. 이 매개변수는 다음을 제외하고는 효과가 없습니다.사설 토토 사이트.log_analyze활성화되었습니다. 이 매개변수는 기본적으로 켜져 있습니다. 슈퍼유저만 이 설정을 변경할 수 있습니다.

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

사설 토토 사이트.log_triggers실행 계획이 기록될 때 트리거 실행 통계가 포함됩니다. 이 매개변수는 다음을 제외하고는 효과가 없습니다.사설 토토 사이트.log_analyze활성화되었습니다. 이 매개변수는 기본적으로 꺼져 있습니다. 슈퍼유저만 이 설정을 변경할 수 있습니다.

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

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

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

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

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

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

사설 토토 사이트.sample_rate (진짜)

사설 토토 사이트.sample_rate사설 토토 사이트이 각 세션의 명령문 중 일부만 설명하도록 합니다. 기본값은 1이며, 이는 모든 쿼리를 설명한다는 의미입니다. 중첩된 문의 경우 모두 설명되거나 설명되지 않습니다. 슈퍼유저만 이 설정을 변경할 수 있습니다.

일반적인 사용에서 이러한 매개변수는 다음에서 설정됩니다.postgresql.conf, 하지만 수퍼유저는 자신의 세션 내에서 즉시 이를 변경할 수 있습니다. 일반적인 사용법은 다음과 같습니다:

# postgresql.conf
session_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