이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : F.30. 토토 사이트 - SQL 계획 및 실행의 통계 추적버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

F.28. 토토 사이트 순위

the토토 사이트 순위모듈 모든 SQL의 실행 통계 추적 수단을 제공합니다. 서버에서 실행 한 진술.

추가하여 모듈을로드해야합니다토토 사이트 순위toshared_preload_librariesinpostgresql.conf가 필요하기 때문입니다 추가 공유 메모리. 이것은 서버가 다시 시작되었음을 의미합니다 모듈을 추가하거나 제거해야합니다.

F.28.1. 그만큼토토 사이트 순위보기

모듈에 의해 수집 된 통계는 이라는 시스템보기토토 사이트 순위. 이보기에는 하나가 포함되어 있습니다 각 쿼리, 데이터베이스 ID 및 사용자 ID에 대해 행 모듈이 할 수있는 최대 뚜렷한 문장 수 길). 보기의 열은에 표시됩니다.테이블 F-22.

표 F-22.토토 사이트 순위

이름 type 참조 설명
userID OID pg_authid.Oid 진술을 실행 한 사용자의 OID
dbid OID pg_database.Oid 진술이있는 데이터베이스의 OID 실행
쿼리 텍스트 대표 성명서의 텍스트 (최대track_activity_query_size바이트)
전화 bigint 실행 된 횟수
Total_Time ​​이중 정밀 성명서에 소비 된 총 시간 밀리 초
bigint 총 행에 의해 검색되거나 영향을받는 총 행 수 성명
shared_blks_hit bigint 총 공유 블록 캐시의 총 수 성명
shared_blks_read bigint 성명
shared_blks_dirtied bigint 공유 블록의 총 수가 더러워졌습니다 성명
shared_blks_written bigint 성명
local_blks_hit bigint 총계 블록 캐시의 총 수 성명
local_blks_read bigint 성명
local_blks_dirtied bigint 총계 블록의 총 수 성명
local_blks_written bigint 성명
temp_blks_read bigint 총 임시 블록의 총 수가 읽습니다 성명
temp_blks_written bigint 성명
blk_read_time 이중 정밀 성명서가 블록을 읽는 데 소비 된 총 시간 밀리 초 (iftrack_io_timing활성화되어 있습니다. 그렇지 않으면 0)
blk_write_time 이중 정밀 성명서가 블록을 쓰는 데 소비 된 총 시간 밀리 초 (iftrack_io_timing활성화되어 있습니다. 그렇지 않으면 0)

이보기 및 함수토토 사이트 순위_reset, 만 가능합니다 데이터베이스에서는 특별히 설치되었습니다 설치토토 사이트 순위확장. 그러나 모든 데이터베이스에서 통계가 추적됩니다 언제든지토토 사이트 순위모듈이로드됩니다 견해의 존재에 관계없이 서버.

보안상의 이유로, 비 슈퍼 사용자는 볼 수 없습니다 다른 사용자가 실행 한 쿼리 텍스트. 그들은 볼 수 있습니다 그러나 뷰가 설치된 경우 통계 데이터 베이스.

Plannable Queries (즉,select, 삽입, 업데이트삭제)는입니다 싱글로 결합토토 사이트 순위그들이 가질 때마다 입국 내부 해시에 따른 동일한 쿼리 구조 계산. 일반적으로 두 쿼리는 동일하게 간주됩니다 이 목적을 위해 그들이 의미 적으로 동등한 경우 쿼리에 나타나는 문자 상수의 값. 공익사업 명령 (즉, 다른 모든 명령)은 엄격하게 비교됩니다. 그러나 텍스트 쿼리 문자열의 기초.

쿼리를 다른 쿼리와 일치 시키면 상수가 교체됩니다. 에 의해?in토토 사이트 순위디스플레이. 나머지 쿼리 텍스트는 특정 쿼리의 쿼리입니다. 와 관련된 해시 값토토 사이트 순위Entry.

경우에 따라 눈에 띄게 다른 텍스트가있는 쿼리가있을 수 있습니다 싱글로 합병토토 사이트 순위입력. 일반적으로 이것은 할 것입니다 의미 적으로 동등한 쿼리에 대해서만 발생하지만 해시 충돌 가능성이 적습니다. 관련없는 쿼리 하나의 항목으로 병합되었습니다. (쿼리에는 발생할 수 없습니다 그러나 다른 사용자 또는 데이터베이스에 속합니다.)

해시 값은 양성애자 분석에서 계산되므로 쿼리의 표현, 그 반대도 가능합니다. 동일한 텍스트가있는 쿼리는 별도의 항목으로 표시 될 수 있습니다. 다음과 같은 요인의 결과와 다른 의미가있는 경우 다른search_path설정.

F.28.2. 기능

토토 사이트 순위_reset () 반환 void

토토 사이트 순위_reset지금까지 수집 한 모든 통계를 폐기토토 사이트 순위. 기본적으로 이것은입니다 기능은 슈퍼 유행자 만 실행할 수 있습니다.

F.28.3. 구성 매개 변수

토토 사이트 순위.max(Integer)

토토 사이트 순위.maxis 모듈에서 추적 한 최대 명령문 수 (즉, 의 최대 행 수토토 사이트 순위보기). 더 있다면 그것보다 뚜렷한 진술이 관찰됩니다 가장 잘 수행되지 않은 진술은 폐기됩니다. 그만큼 기본값은 1000입니다.이 매개 변수는 서버 시작.

토토 사이트 순위.track(enum)

토토 사이트 순위.track모듈에 의해 계산되는 진술을 제어합니다. 지정TOP최상위를 추적합니다 진술 (고객이 직접 발행 한 사람),all중첩 된 진술도 추적합니다 함수 내에서 호출 된 진술) 또는없음명령문 통계를 비활성화하려면 수집. 기본값은입니다.TOP. 슈퍼업자만이이를 변경할 수 있습니다 환경.

토토 사이트 순위.track_utility(부울)

토토 사이트 순위.track_utility컨트롤 유틸리티 명령이 모듈에 의해 추적되는지 여부 유틸리티 명령은 이외의 모든 명령입니다.select, 삽입, 업데이트and삭제. 기본값은입니다.on. 슈퍼업자만이이를 변경할 수 있습니다 환경.

토토 사이트 순위.save(부울)

토토 사이트 순위.save명세서 통계를 저장할지 여부를 지정합니다 서버 종료. 경우OFF그러면 통계가 종료시 저장되지 않거나 다시로드되지 않습니다. 서버 시작. 기본값은입니다.on. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄.

모듈에는 추가 공유 메모리가 필요합니다 에 대한토토 사이트 순위.max * track_activity_query_size바이트. 이 메모리는 모듈이있을 때마다 소비됩니다. 하더라도로드토토 사이트 순위.track로 설정되었습니다없음.

이 매개 변수를 설정해야합니다postgresql.conf. 일반적인 사용법은 다음과 같습니다.

# postgresql.conf
shared_preload_libraries = '토토 사이트 순위'

토토 사이트 순위.max = 10000
토토 사이트 순위.track = all

F.28.4. 샘플 출력

벤치 =# 선택 PG_STAT_STATEMENTS_RESET ();

$ pgbench -i 벤치
$ PGBENCH -C10 -T300 벤치

벤치 =# \ x
벤치 =# 선택 쿼리, 통화, Total_Time, 행, 100.0 * shared_blks_hit /
               nullif (shared_blks_hit + shared_blks_read, 0) hit_percent
          PG_STAT_STATEMENTS에서 TOTAL_TIME DESC LIMIT 5에 의한 순서 5;
-[레코드 1] ----------------------------------------------------------------------
쿼리 | PGBENCH_BRANCHES 업데이트 SET BBALANCE = BBALANCE +? 여기서 입찰 =?;
전화 | 3000
Total_Time | 9609.00100000002
줄 | 2836
hit_percent | 99.9778970000200936
-[레코드 2] -------------------------------------------------------------------------------
쿼리 | PGBENCH_TELLERS 업데이트 set tbalance = tbalance +? 여기서 tid =?;
전화 | 3000
Total_Time | 8015.156
줄 | 2990
hit_percent | 99.9731126579631345
-[레코드 3] ---------------------------------------------------------------------
쿼리 | stdin에서 pgbench_accounts를 복사하십시오
전화 | 1
Total_Time | 310.624
줄 | 100000
hit_percent | 0.30395136778115501520
-[레코드 4] -------------------------------------------------------------------------------
쿼리 | PGBENCH_ACCOUNTS 업데이트 세트 Abalance = Abalance +? 여기서 AID =?;
전화 | 3000
Total_Time | 271.74199999997
줄 | 3000
hit_percent | 93.7968855088209426
-[레코드 5] -------------------------------------------------------------------------------
쿼리 | ALTER TABLE PGBENCH_ACCOUTTS 기본 키 추가 (AID)
전화 | 1
Total_Time | 81.42
줄 | 0
hit_percent | 34.4947735191637631

F.28.5. 저자

Takahiro Itagaki. Peter Geoghegan에 의해 추가 된 쿼리 정규화.