그토토 꽁 머니모듈 모든 SQL의 실행 통계를 추적하는 수단을 제공합니다. 서버에 의해 실행되는 명령문입니다.
모듈을 추가하여 로드해야 합니다.토토 꽁 머니에shared_preload_librariesinpostgresql.conf, 필요하기 때문에 추가 공유 메모리. 이는 서버를 다시 시작한다는 의미입니다. 모듈을 추가하거나 제거하는 데 필요합니다.
모듈에 의해 수집된 통계는 다음을 통해 제공됩니다. 이름이 지정된 시스템 뷰토토 꽁 머니. 이 보기에는 다음이 포함되어 있습니다. 각각의 고유한 쿼리 텍스트, 데이터베이스 ID 및 사용자 ID에 대한 행(위쪽) 모듈이 처리하는 최대 개별 명령문 수 추적할 수 있습니다). 뷰의 열은 다음과 같습니다.테이블 F-24.
표 F-24.토토 꽁 머니열
| 이름 | 유형 | 참고자료 | 설명 |
|---|---|---|---|
| 사용자 ID | oid | pg_authid.oid | 문을 실행한 사용자의 OID |
| dbid | oid | pg_database.oid | 명령문이 있던 데이터베이스의 OID 실행됨 |
| 질의 | 텍스트 | 성명서 텍스트(최대track_activity_query_size바이트) | |
| 호출 | 비긴트 | 실행 횟수 | |
| total_time | 배정밀도 | 문에서 소요된 총 시간(초) | |
| 행 | 비긴트 | 검색되거나 영향을 받은 총 행 수 진술 |
이 보기 및 기능토토 꽁 머니_reset만 사용할 수 있습니다.
데이터베이스에서는 다음에 의해 특별히 설치되었습니다.
실행 중토토 꽁 머니.sql설치 스크립트. 그러나 통계는 모든 항목에서 추적됩니다.
서버의 데이터베이스는 다음과 같습니다.토토 꽁 머니모듈이
뷰의 존재 여부에 관계없이 서버.
보안상의 이유로 슈퍼유저가 아닌 사람은 볼 수 없습니다. 다른 사용자가 실행한 쿼리 텍스트. 그들은 볼 수 있습니다 그러나 통계에 보기가 설치된 경우에는 데이터베이스.
문은 다음과 같은 경우 동일한 것으로 간주됩니다. 라인 밖의 값에 관계없이 동일한 텍스트 명령문에 사용되는 매개변수입니다. 라인 외부 매개변수 사용 진술을 그룹화하는 데 도움이 될 것이며 통계가 더 유용합니다.
토토 꽁 머니_reset()
무효를 반환합니다토토 꽁 머니_reset지금까지 수집된 모든 통계를 삭제합니다.토토 꽁 머니. 기본적으로 이
함수는 슈퍼유저만 실행할 수 있습니다.
토토 꽁 머니.max이것은 모듈이 추적하는 최대 명령문 수(예: 의 최대 행 수토토 꽁 머니보기). 더 많은 경우 관찰된 것과는 다른 진술, 정보 가장 적게 실행된 명령문은 폐기됩니다. 는 기본값은 1000입니다. 이 매개변수는 에서만 설정할 수 있습니다. 서버 시작.
토토 꽁 머니.track모듈이 계산하는 명령문을 제어합니다. 지정하다맨 위로최상위 수준 추적 명세서(고객이 직접 발행한 명세서),전체또한 중첩된 문을 추적합니다(예: 함수 내에서 호출된 명령문으로) 또는없음비활성화합니다. 기본값은맨 위로. 슈퍼유저만 변경할 수 있습니다. 이 설정입니다.
토토 꽁 머니.save전체에 걸쳐 명령문 통계를 저장할지 여부를 지정합니다. 서버 종료. 그렇다면꺼짐그러면 통계는 종료 시 저장되지 않으며 종료 시 다시 로드되지 않습니다. 서버 시작. 기본값은켜짐. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄.
모듈에는 다음과 같은 추가 공유 메모리가 필요합니다. 약토토 꽁 머니.max * track_activity_query_size바이트. 이 메모리는 모듈이 실행될 때마다 소비됩니다. 로드된 경우에도 마찬가지입니다.토토 꽁 머니.track다음으로 설정됨없음.
이러한 매개변수를 설정하려면postgresql.conf파일, 추가해야 합니다토토 꽁 머니에custom_variable_classes. 일반적인 사용법은 다음과 같습니다:
# postgresql.conf shared_preload_libraries = '토토 꽁 머니' custom_variable_classes = '토토 꽁 머니' 토토 꽁 머니.max = 10000 토토 꽁 머니.track = 모두
$ pgbench -i 벤치 postgres=# SELECT 토토 꽁 머니_reset(); $ pgbench -c10 -t300 -M 준비된 벤치 포스트그레스=# \x postgres=# SELECT * FROM 토토 꽁 머니 ORDER BY total_time DESC LIMIT 3; -[ 기록 1 ]----------------------------------------------- 사용자ID | 10 디비드 | 63781 쿼리 | UPDATE 브랜치 SET bbalance = bbalance + $1 WHERE bid = $2; 전화 | 3000 총_시간 | 20.716706 행 | 3000 -[ 기록 2 ]----------------------------------------------- 사용자ID | 10 디비드 | 63781 쿼리 | 업데이트 텔러 SET tbalance = tbalance + $1 WHERE tid = $2; 전화 | 3000 총_시간 | 17.1107649999999 행 | 3000 -[ 기록 3 ]----------------------------------------------- 사용자ID | 10 디비드 | 63781 쿼리 | 업데이트 계정 SET abalance = abalance + $1 WHERE 지원 = $2; 전화 | 3000 총_시간 | 0.645601 행 | 3000
이타가키 다카히로<itagaki.takahiro@oss.ntt.co.jp