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

F.28. 토토 커뮤니티

the토토 커뮤니티모듈 제공 모든 SQL 문의 실행 통계 추적 수단 서버에서 실행.

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

F.28.1. 그만큼토토 커뮤니티보기

모듈에 의해 수집 된 통계는 System View 이름토토 커뮤니티. 이보기에는 각 별도의 쿼리, 데이터베이스 ID, 및 사용자 ID (최대 뚜렷한 명세서 수까지 모듈은 추적 할 수 있습니다). 보기의 열은에 표시됩니다.테이블 F-22.

표 F-22.토토 커뮤니티10396_10406

이름 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 이중 정밀도 성명서가 블록을 읽는 데 소비 한 총 시간, 밀리 초 (만약에track_io_timing활성화되어 있고 그렇지 않으면 Zero)
blk_write_time 이중 정밀도 성명서가 밀리 초로 블록을 쓰는 데 소비 된 총 시간 (만약에track_io_timing활성화되어 있습니다. 그렇지 않으면 0)

이보기 및 함수토토 커뮤니티_reset는 만 가능합니다 데이터베이스가 설치하여 구체적으로 설치되었습니다 그만큼토토 커뮤니티확장. 하지만, 통계는 언제든지 서버의 모든 데이터베이스에서 추적됩니다. 그만큼토토 커뮤니티모듈이로드되었습니다 보기의 존재에 관계없이 서버로.

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

Plannable Queries (즉,select, 삽입, 업데이트, 그리고삭제)) 단일로 결합토토 커뮤니티언제마다 입국 내부 해시에 따라 동일한 쿼리 구조가 있습니다 계산. 일반적으로 두 쿼리는 동일하게 간주됩니다 이 목적은 쿼리에 나타나는 문자 상수의 값. 공익사업 명령 (즉, 다른 모든 명령)은 그러나 텍스트 쿼리 문자열의 기초.

쿼리를 다른 쿼리와 일치 시키면 상수가로 대체됩니다.?in토토 커뮤니티디스플레이. 나머지 쿼리 텍스트는 특정 해시 값을 가진 첫 번째 쿼리입니다. 관련토토 커뮤니티Entry.

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

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

F.28.2. 기능

토토 커뮤니티_RESET () 리턴 무효의

토토 커뮤니티_reset버려집니다 지금까지 수집 한 모든 통계는토토 커뮤니티. 기본적 으로이 기능은 가능합니다 수퍼 유행자에 의해서만 실행됩니다.

F.28.3. 구성 매개 변수

토토 커뮤니티.max(Integer)

토토 커뮤니티.max는 최대입니다 모듈에 의해 추적 된 진술 수 (즉, 최대 값 의 행 수토토 커뮤니티보기). 더 뚜렷한 경우 그것보다 진술이 관찰됩니다 최소 실행 된 진술은 폐기됩니다. 기본값은 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. 견본 산출

벤치 =# 선택 토토 커뮤니티_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에 의해 추가 된 쿼리 정규화.