Postgresql 9.1.24 문서화 | ||||
---|---|---|---|---|
postgresql : 문서 : 9.1 : 스포츠 토토 베트맨 | up | 부록 F. 추가 제공된 모듈 | 롤 토토 : 문서 : 9.1 : pgstattuple |
토토모듈 모든 SQL의 실행 통계 추적 수단을 제공합니다. 서버에서 실행 한 진술.
추가하여 모듈을로드해야합니다토토toshared_preload_librariesinpostgresql.conf가 필요하기 때문입니다 추가 공유 메모리. 이것은 서버가 다시 시작되었음을 의미합니다 모듈을 추가하거나 제거해야합니다.
모듈에 의해 수집 된 통계는 이라는 시스템보기토토. 이보기에는 하나가 포함되어 있습니다 각 별도의 쿼리 텍스트, 데이터베이스 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_written | bigint | 총 공유 블록의 총 수 성명 | |
local_blks_hit | bigint | 총계 블록의 총 수는 성명 | |
local_blks_read | bigint | 총계 블록의 총 수가 읽습니다 성명 | |
local_blks_written | bigint | 총계 블록의 총 수는 성명 | |
temp_blks_read | bigint | 총 임시 블록의 총 수가 읽습니다 성명 | |
temp_blks_written | bigint | 총 임시 블록의 총 수는 성명 |
이보기 및 함수토토_reset
, 만 사용할 수 있습니다
데이터베이스에서는 특별히 설치되었습니다
설치토토확장. 그러나 모든 데이터베이스에서 통계가 추적됩니다
언제든지토토모듈이로드됩니다
견해의 존재에 관계없이 서버.
보안상의 이유로, 비 슈퍼 사용자는 볼 수 없습니다 다른 사용자가 실행 한 쿼리 텍스트. 그들은 볼 수 있습니다 그러나 뷰가 설치된 경우 통계 데이터 베이스.
진술은 그들이 가지고있는 경우 동일하게 간주됩니다. 외부의 값에 관계없이 동일한 텍스트 진술에 사용 된 매개 변수. 외부 매개 변수 사용 진술을 함께 그룹화하는 데 도움이되고 통계가 더 유용합니다.
토토_reset ()
반환 void
토토_reset
지금까지 수집 한 모든 통계 폐기토토. 기본적으로 이것은입니다
기능은 슈퍼 유행자 만 실행할 수 있습니다.
토토.maxis 모듈에서 추적 한 최대 명령문 수 (즉, 의 최대 행 수토토보기). 더 있다면 그것보다 뚜렷한 진술이 관찰됩니다 가장 잘 수행되지 않은 진술은 폐기됩니다. 그만큼 기본값은 1000입니다.이 매개 변수는 서버 시작.
토토.track모듈에 의해 계산되는 진술을 제어합니다. 지정TOP최상위를 추적합니다 진술 (고객이 직접 발행 한 사람),all중첩 된 진술을 추적합니다 ( 함수 내에서 호출 된 진술) 또는없음비활성화. 기본값은입니다.TOP. 슈퍼 사용자 만 변경할 수 있습니다 이 설정.
토토.track_utility컨트롤 유틸리티 명령이 모듈에 의해 추적되는지 여부 유틸리티 명령은 이외의 모든 명령입니다.select, 삽입, 업데이트and삭제. 기본값은입니다.on. 슈퍼업자만이이를 변경할 수 있습니다 환경.
토토.save명세서 통계를 저장할지 여부를 지정합니다 서버 종료. 경우off그러면 통계가 종료시 저장되지 않거나 다시로드되지 않습니다. 서버 시작. 기본값은입니다.on. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄.
모듈에는 추가 공유 메모리가 필요합니다 에 대한토토.max * track_activity_query_size바이트. 이 메모리는 모듈이있을 때마다 소비됩니다. 하더라도로드토토.track없음.
이러한 매개 변수 중 하나를 설정하려면postgresql.conf파일, 추가해야합니다토토tocustom_variable_classes. 일반적인 사용법은 다음과 같습니다.
# postgresql.conf shared_preload_libraries = '토토' custom_variable_classes = '토토' 토토.max = 10000 토토.track = all
벤치 =# 선택 토토_reset (); $ pgbench -i 벤치 $ pgbench -c10 -t300 -m 준비된 벤치 벤치 =# \ 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 업데이트 bbalance = bbalance + $ 1 여기서 bid = $ 2; 전화 | 3000 Total_Time | 9.60900100000002 줄 | 2836 hit_percent | 99.9778970000200936 -[레코드 2] ------------------------------------------------------------------------------- 쿼리 | PGBENCH_TELLERS 업데이트 TBALANCE = TBALANCE + $ 1 여기서 tid = $ 2; 전화 | 3000 Total_Time | 8.015156 줄 | 2990 hit_percent | 99.9731126579631345 -[레코드 3] --------------------------------------------------------------------- 쿼리 | stdin에서 pgbench_accounts를 복사하십시오 전화 | 1 Total_Time | 0.310624 줄 | 100000 hit_percent | 0.30395136778115501520 -[레코드 4] ------------------------------------------------------------------------------- 쿼리 | PGBENCH_ACCOUNTS 업데이트 세트 Abalance = Abalance + $ 1 여기서 AID = $ 2; 전화 | 3000 Total_Time | 0.27174199999997 줄 | 3000 hit_percent | 93.7968855088209426 -[레코드 5] ------------------------------------------------------------------------------- 쿼리 | ALTER TABLE PGBENCH_ACCOUTTS 기본 키 추가 (AID) 전화 | 1 Total_Time | 0.08142 줄 | 0 hit_percent | 34.4947735191637631
Takahiro Itagaki<itagaki.takahiro@oss.ntt.co.jp