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

F.27. 토토 꽁 머니

토토 꽁 머니모듈 모든 SQL의 실행 통계를 추적하는 수단을 제공합니다. 서버에 의해 실행되는 명령문입니다.

모듈을 추가하여 로드해야 합니다.토토 꽁 머니shared_preload_librariesinpostgresql.conf, 필요하기 때문에 추가 공유 메모리. 이는 서버를 다시 시작한다는 의미입니다. 모듈을 추가하거나 제거하는 데 필요합니다.

F.27.1.토토 꽁 머니보기

모듈에 의해 수집된 통계는 다음을 통해 제공됩니다. 이름이 지정된 시스템 뷰토토 꽁 머니. 이 보기에는 다음이 포함되어 있습니다. 각각의 고유한 쿼리 텍스트, 데이터베이스 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설치 스크립트. 그러나 통계는 모든 항목에서 추적됩니다. 서버의 데이터베이스는 다음과 같습니다.토토 꽁 머니모듈이 뷰의 존재 여부에 관계없이 서버.

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

문은 다음과 같은 경우 동일한 것으로 간주됩니다. 라인 밖의 값에 관계없이 동일한 텍스트 명령문에 사용되는 매개변수입니다. 라인 외부 매개변수 사용 진술을 그룹화하는 데 도움이 될 것이며 통계가 더 유용합니다.

F.27.2. 기능

토토 꽁 머니_reset() 무효를 반환합니다

토토 꽁 머니_reset지금까지 수집된 모든 통계를 삭제합니다.토토 꽁 머니. 기본적으로 이 함수는 슈퍼유저만 실행할 수 있습니다.

F.27.3. 구성 매개변수

토토 꽁 머니.max (정수)

토토 꽁 머니.max이것은 모듈이 추적하는 최대 명령문 수(예: 의 최대 행 수토토 꽁 머니보기). 더 많은 경우 관찰된 것과는 다른 진술, 정보 가장 적게 실행된 명령문은 폐기됩니다. 는 기본값은 1000입니다. 이 매개변수는 에서만 설정할 수 있습니다. 서버 시작.

토토 꽁 머니.track (열거형)

토토 꽁 머니.track모듈이 계산하는 명령문을 제어합니다. 지정하다맨 위로최상위 수준 추적 명세서(고객이 직접 발행한 명세서),전체또한 중첩된 문을 추적합니다(예: 함수 내에서 호출된 명령문으로) 또는없음비활성화합니다. 기본값은맨 위로. 슈퍼유저만 변경할 수 있습니다. 이 설정입니다.

토토 꽁 머니.save (부울)

토토 꽁 머니.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 = 모두

F.27.4. 샘플 출력

$ 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