| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 토토 사이트 추천 : 문서 : 9.3 : 표준 유닉스 도구 | 롤 토토 : 문서 : 9.3 : 데이터베이스 활동 모니터링 | 27장. 데이터베이스 활동 모니터링 | 메이저 토토 사이트 : 문서 : 9.3 : 잠금보기 | |
포스트그레SQL's토토 캔 수집기은 다음을 지원하는 하위 시스템입니다. 서버 활동에 대한 정보 수집 및 보고. 현재 수집기는 테이블 및 인덱스에 대한 액세스를 계산할 수 있습니다. 디스크 블록 및 개별 행 측면에서 모두. 또한 각 테이블의 총 행 수 및 Vacuum에 대한 정보 각 테이블에 대한 작업을 분석합니다. 또한 다음 통화 수를 계산할 수도 있습니다. 사용자 정의 함수 및 각 함수에 소요된 총 시간.
포스트그레SQL또한 지원합니다 현재 다른 사람이 실행 중인 정확한 명령을 보고합니다. 서버 프로세스. 이 시설은 수집가와 독립적입니다. 프로세스.
통계 수집으로 인해 쿼리에 약간의 오버헤드가 추가되므로 실행 시 시스템을 수집하거나 수집하지 않도록 구성할 수 있습니다. 정보. 이는 구성 매개변수에 의해 제어됩니다. 일반적으로 다음으로 설정됩니다.postgresql.conf. (참조범퍼카 토토 : 문서 : 9.3 : 서버 구성자세한 내용은 다음과 같습니다. 구성 매개변수를 설정합니다.)
매개변수track_activities모든 사용자가 실행 중인 현재 명령을 모니터링할 수 있습니다. 서버 프로세스.
매개변수track_counts테이블 및 인덱스에 대한 토토 캔 수집 여부를 제어합니다. 액세스합니다.
매개변수트랙_기능사용자 정의 함수의 사용을 추적할 수 있습니다.
매개변수track_io_timing블록 읽기 및 쓰기 시간 모니터링을 활성화합니다.
일반적으로 이러한 매개변수는 다음에서 설정됩니다.postgresql.conf모든 서버에 적용되도록 프로세스를 개별적으로 켜거나 끌 수 있습니다. 세션을 사용하여스포츠 토토 : 문서 : 9.3 : set명령. (에 일반 사용자가 자신의 활동을 숨기는 것을 방지합니다. 관리자, 슈퍼유저만 이를 변경할 수 있습니다. 매개변수SET.)
토토 캔 수집기는 수집된 정보를 다음으로 전송합니다. 기타PostgreSQL프로세스를 통해 임시 파일. 이 파일은 다음 이름의 디렉토리에 저장됩니다.stats_temp_directory매개변수,pg_stat_tmp기본적으로. 에 대한 더 나은 성능,stats_temp_directoryRAM 기반 파일 시스템을 가리킬 수 있어 물리적 I/O가 감소합니다. 요구 사항. 서버가 종료되면 영구 복사본이 토토 캔 데이터는에 저장됩니다.pg_stat하위 디렉토리(서버 전체에 걸쳐 토토 캔를 보관할 수 있음) 다시 시작됩니다.
다음에 나열된 사전 정의된 여러 보기테이블 27-1, 통계 결과를 표시하는 데 사용할 수 있습니다. 컬렉션입니다. 또는 다음을 사용하여 사용자 정의 보기를 작성할 수 있습니다. 설명된 기본 통계 함수섹션 27.2.3.
통계를 사용하여 현재 활동을 모니터링하는 경우, 정보가 업데이트되지 않는다는 점을 인식하는 것이 중요합니다. 즉시. 각 개별 서버 프로세스는 새로운 정보를 전송합니다. 유휴 상태가 되기 직전에 수집기에 대한 통계 카운트; 그래서 아직 진행 중인 쿼리나 트랜잭션은 영향을 미치지 않습니다. 표시된 합계. 또한 수집기 자체는 다음 위치에 새 보고서를 내보냅니다. 당 최대 한 번PGSTAT_STAT_INTERVAL밀리초(서버를 구축하는 동안 변경하지 않는 한 500ms). 그래서 표시된 정보는 실제 활동보다 뒤떨어집니다. 그러나, 현재 쿼리 정보는에서 수집됩니다.track_activities항상 최신 상태입니다.
또 다른 중요한 점은 서버 프로세스가 요청될 때
이러한 통계를 표시하려면 먼저 가장 많은 통계를 가져옵니다.
수집기 프로세스에서 최근 보고서를 내보낸 후 계속됩니다.
모든 통계 보기 및 기능에 대해 이 스냅샷을 사용하려면
현재 거래가 종료되었습니다. 그럼 통계가 나오겠죠
현재 거래를 계속하는 한 정적 정보.
마찬가지로 모든 세션의 현재 쿼리에 대한 정보는 다음과 같습니다.
해당 정보가 처음으로 요청된 경우 수집됩니다.
거래 전반에 걸쳐 동일한 정보가 표시됩니다.
거래. 이는 버그가 아닌 기능입니다.
통계에 대해 여러 쿼리를 수행하고
아래의 숫자가 변경되는 것을 걱정하지 않고 결과를 얻을 수 있습니다.
당신. 그러나 각 쿼리에 대해 새로운 결과를 보려면 다음을 수행하세요.
트랜잭션 블록 외부에서 쿼리를 수행합니다. 또는 귀하는
호출할 수 있음pg_stat_clear_snapshot(),
현재 트랜잭션의 통계 스냅샷을 삭제합니다.
(있는 경우). 다음번에 통계 정보를 사용하면 새로운
가져올 스냅샷입니다.
트랜잭션은 자체 토토 캔도 볼 수 있습니다(아직은 수집기로 전송되지 않음) 뷰에서pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables및pg_stat_xact_user_functions. 이 숫자는 그렇지 않습니다 위에 명시된 대로 행동하십시오. 대신 전체적으로 지속적으로 업데이트됩니다. 거래.
표 27-1. 표준 토토 캔 보기
| 보기 이름 | 설명 |
|---|---|
| pg_stat_activity | 서버 프로세스당 하나의 행, 관련 정보 표시 상태 및 현재 쿼리와 같은 해당 프로세스의 현재 활동입니다. 참조pg_stat_activity자세한 내용은. |
| pg_stat_bgwriter | 행 하나만, 배경 작성자에 대한 토토 캔 표시 프로세스의 활동. 참조pg_stat_bgwriter자세한 내용은. |
| pg_stat_database | 데이터베이스당 하나의 행, 데이터베이스 전체 토토 캔를 표시합니다. 참조pg_stat_database자세한 내용은. |
| pg_stat_all_tables | 현재 데이터베이스의 각 테이블에 대해 하나의 행, 다음을 표시함 해당 특정 테이블에 대한 액세스에 대한 통계입니다. 참조pg_stat_all_tables자세한 내용은. |
| pg_stat_sys_tables | 다음과 동일pg_stat_all_tables, 제외 시스템 테이블만 표시됩니다. |
| pg_stat_user_tables | 동일pg_stat_all_tables, 제외 사용자 테이블만 표시됩니다. |
| pg_stat_xact_all_tables | 비슷함pg_stat_all_tables하지만 현재 트랜잭션 내에서 지금까지 수행된 작업을 계산합니다(이는 이다아님아직 포함됨pg_stat_all_tables및 관련 보기). 활성 행 및 데드 행 수와 진공 및 데드 행 수에 대한 열 이 보기에는 분석 작업이 없습니다. |
| pg_stat_xact_sys_tables | 다음과 동일pg_stat_xact_all_tables, 단, 시스템 테이블만 표시됩니다. |
| pg_stat_xact_user_tables | 다음과 같음pg_stat_xact_all_tables, 단, 사용자 테이블만 표시됩니다. |
| pg_stat_all_indexes | 현재 데이터베이스의 각 색인에 대해 하나의 행, 다음을 표시함 해당 특정 인덱스에 대한 액세스에 대한 통계입니다. 참조pg_stat_all_indexes자세한 내용은. |
| pg_stat_sys_indexes | 다음과 동일pg_stat_all_indexes, 제외 시스템 테이블의 인덱스만 표시됩니다. |
| pg_stat_user_indexes | 다음과 같음pg_stat_all_indexes, 제외 사용자 테이블의 인덱스만 표시됩니다. |
| pg_statio_all_tables | 현재 데이터베이스의 각 테이블에 대해 하나의 행, 다음을 표시함 해당 특정 테이블의 I/O에 대한 통계입니다. 보다pg_statio_all_tables자세한 내용은. |
| pg_statio_sys_tables | 동일pg_statio_all_tables, 단, 시스템 테이블만 표시됩니다. |
| pg_statio_user_tables | 동일pg_statio_all_tables, 단, 사용자 테이블만 표시됩니다. |
| pg_statio_all_indexes | 현재 데이터베이스의 각 색인에 대해 하나의 행이 표시됩니다. 해당 특정 인덱스의 I/O에 대한 통계입니다. 보다pg_statio_all_indexes자세한 내용은. |
| pg_statio_sys_indexes | 동일pg_statio_all_indexes, 단, 시스템 테이블의 인덱스만 표시됩니다. |
| pg_statio_user_indexes | 동일pg_statio_all_indexes, 단, 사용자 테이블의 인덱스만 표시됩니다. |
| pg_statio_all_sequences | 현재 데이터베이스의 각 시퀀스에 대해 하나의 행이 표시됩니다. 해당 특정 시퀀스의 I/O에 대한 통계입니다. 참조pg_statio_all_sequences자세한 내용은. |
| pg_statio_sys_sequences | 동일pg_statio_all_sequences, 단, 시스템 시퀀스만 표시됩니다. (현재는 시스템이 없습니다. 시퀀스가 정의되어 있으므로 이 뷰는 항상 비어 있습니다.) |
| pg_statio_user_sequences | 다음과 같음pg_statio_all_sequences, 단, 사용자 시퀀스만 표시됩니다. |
| pg_stat_user_functions | 추적된 각 함수에 대해 하나의 행으로, 다음에 대한 통계를 표시합니다. 해당 기능의 실행. 참조pg_stat_user_functions자세한 내용은. |
| pg_stat_xact_user_functions | 비슷함pg_stat_user_functions, 하지만 현재 트랜잭션 동안의 호출만 계산합니다(아님아직 포함됨pg_stat_user_functions). |
| pg_stat_replication | WAL 발신자 프로세스당 하나의 행, 다음에 대한 통계 표시 해당 발신자의 연결된 대기 서버로 복제합니다. 참조pg_stat_replication자세한 내용은. |
| pg_stat_database_contributes | 데이터베이스당 하나의 행, 다음에 대한 데이터베이스 전체 통계 표시 대기 서버의 복구와 충돌로 인해 쿼리가 취소됩니다. 참조pg_stat_database_contributes자세한 내용은. |
색인별 통계는 다음을 결정하는 데 특히 유용합니다. 어떤 인덱스가 사용되고 있으며 얼마나 효과적인지.
그pg_statio_조회수는 주로 버퍼 캐시의 효율성을 결정하는 데 유용합니다. 때 실제 디스크 읽기 횟수는 디스크 읽기 횟수보다 훨씬 적습니다. 버퍼 적중 시 캐시는 대부분의 읽기 요청을 만족시킵니다. 커널 호출을 호출하지 않고. 그러나 이러한 토토 캔는 그렇지 않습니다. 전체 이야기를 제공: 방식으로 인해PostgreSQL디스크 I/O를 처리합니다. 에서PostgreSQL버퍼 캐시 여전히 커널의 I/O 캐시에 있을 수 있으므로 물리적인 읽기 없이도 여전히 가져올 수 있습니다. 사용자 다음에 대한 더 자세한 정보를 얻고 싶습니다.PostgreSQLI/O 동작은 다음을 사용하는 것이 좋습니다.포스트그레SQL토토 캔 수집기 통찰력을 제공하는 운영 체제 유틸리티와 결합 커널의 I/O 처리.
표 27-2.pg_stat_activity보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 데이트 | oid | 이 백엔드가 연결된 데이터베이스의 OID |
| 데이터이름 | 이름 | 이 백엔드가 연결된 데이터베이스의 이름 |
| pid | 정수 | 이 백엔드의 프로세스 ID |
| usesysid | oid | 이 백엔드에 로그인한 사용자의 OID |
| 사용자 이름 | 이름 | 이 백엔드에 로그인한 사용자의 이름 |
| 응용프로그램_이름 | 텍스트 | 이 백엔드에 연결된 애플리케이션의 이름 |
| client_addr | inet | 이 백엔드에 연결된 클라이언트의 IP 주소. 만약 이 필드가 null이면 클라이언트가 다음을 통해 연결되었음을 나타냅니다. 서버 시스템의 Unix 소켓이거나 이것이 내부 소켓인지 여부 autovacuum과 같은 프로세스입니다. |
| 클라이언트_호스트 이름 | 텍스트 | 역방향 DNS에 의해 보고된 연결된 클라이언트의 호스트 이름 조회클라이언트_주소. 이 필드는 IP 연결에 대해서만 null이 아니어야 하며, 다음 경우에만 해당합니다.로그_호스트 이름이다 활성화되었습니다. |
| 클라이언트_포트 | 정수 | 클라이언트가 통신에 사용하는 TCP 포트 번호 이 백엔드 또는-1Unix 소켓이 다음과 같은 경우 사용됨 |
| backend_start | 시간대가 포함된 타임스탬프 | 이 프로세스가 시작된 시간, 즉 클라이언트가 시작된 시간 서버에 연결됨 |
| xact_start | 시간대가 포함된 타임스탬프 | 이 프로세스의 현재 트랜잭션이 시작된 시간 또는 활성화된 트랜잭션이 없으면 null입니다. 현재 쿼리가 첫 번째인 경우 해당 거래에서 이 열은query_start열. |
| query_start | 시간대가 포함된 타임스탬프 | 현재 활성 쿼리가 시작된 시간 또는 경우상태아닙니다활성, 마지막 쿼리가 시작된 시간 |
| 상태_변경 | 시간대가 포함된 타임스탬프 | 때상태마지막이었습니다 변경됨 |
| 대기 중 | 부울 | 이 백엔드가 현재 잠금을 기다리고 있는 경우 true |
| 상태 | 텍스트 | 이 백엔드의 현재 전반적인 상태. 가능한 값은 다음과 같습니다:
|
| 질의 | 텍스트 | 이 백엔드의 가장 최근 쿼리 텍스트. 만일상태is활성이것 필드에는 현재 실행 중인 쿼리가 표시됩니다. 다른 모든 주에서는 실행된 마지막 쿼리를 보여줍니다. |
그pg_stat_activity보기에는 서버 프로세스당 하나의 행으로, 관련 정보를 표시합니다. 해당 프로세스의 현재 활동입니다.
참고:그대기 중그리고상태열은 독립적입니다. 만약 백엔드는활성상태, 그럴 수도 있고 아닐 수도 있습니다대기 중. 상태인 경우활성그리고대기 중이 true이면 쿼리가 진행되고 있음을 의미합니다. 실행되었지만 어딘가에 있는 잠금으로 인해 차단되었습니다. 시스템.
표 27-3.pg_stat_bgwriter보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| checkpoints_timed | 비긴트 | 수행된 예정된 체크포인트 수 |
| checkpoints_req | 비긴트 | 수행된 요청된 체크포인트 수 |
| checkpoint_write_time | 배정밀도 | 다음 부분에서 소비된 총 시간 파일이 디스크에 기록되는 체크포인트 처리 밀리초 |
| checkpoint_sync_time | 배정밀도 | 다음 부분에서 소비된 총 시간 파일이 디스크에 동기화되는 체크포인트 처리 밀리초 |
| buffers_checkpoint | 비긴트 | 체크포인트 중에 작성된 버퍼 수 |
| buffers_clean | 비긴트 | 백그라운드 작성자가 쓴 버퍼 수 |
| maxwrite_clean | bigint | 백그라운드 작성자가 청소 스캔을 중지한 횟수 너무 많은 버퍼를 썼기 때문입니다. |
| buffers_backend | 비긴트 | 백엔드에서 직접 작성한 버퍼 수 |
| buffers_backend_fsync | 비긴트 | 백엔드가 자체적으로 실행해야 했던 횟수fsync호출(일반적으로 배경 작성자
백엔드가 자체 쓰기를 수행하는 경우에도 이를 처리합니다.) |
| buffers_alloc | 비긴트 | 할당된 버퍼 수 |
| stats_reset | 시간대가 포함된 타임스탬프 | 이 토토 캔가 마지막으로 재설정된 시간 |
그pg_stat_bgwriter보기는 항상 글로벌 데이터를 포함하는 단일 행을 가집니다. 클러스터.
표 27-4.pg_stat_database보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 데이트 | oid | 데이터베이스의 OID |
| 데이터이름 | 이름 | 이 데이터베이스의 이름 |
| 백엔드 수 | 정수 | 현재 이 데이터베이스에 연결된 백엔드 수. 이 이 뷰에서 다음을 반영하는 값을 반환하는 유일한 열입니다. 현재 상태; 다른 모든 열은 누적된 값을 반환합니다. 마지막 재설정 이후. |
| xact_commit | bigint | 이 데이터베이스의 트랜잭션 수 헌신했다 |
| xact_rollback | 비긴트 | 이 데이터베이스에서 롤링된 트랜잭션 수 뒤로 |
| blks_read | 비긴트 | 이 데이터베이스에서 읽은 디스크 블록 수 |
| blks_hit | 비긴트 | 디스크 블록이 버퍼에서 이미 발견된 횟수 캐시이므로 읽기가 필요하지 않습니다(여기에는 적중만 포함됩니다). 운영 체제의 파일 시스템이 아닌 PostgreSQL 버퍼 캐시 캐시) |
| tup_returned | 비긴트 | 이 데이터베이스의 쿼리에 의해 반환된 행 수 |
| tup_fetched | 비긴트 | 이 데이터베이스의 쿼리로 가져온 행 수 |
| tup_inserted | bigint | 이 데이터베이스의 쿼리에 의해 삽입된 행 수 |
| tup_updated | 비긴트 | 이 데이터베이스의 쿼리에 의해 업데이트된 행 수 |
| tup_deleted | 비긴트 | 이 데이터베이스의 쿼리에 의해 삭제된 행 수 |
| 충돌 | 비긴트 | 복구 충돌로 인해 취소된 쿼리 수 이 데이터베이스. (충돌은 대기 서버에서만 발생합니다. 참조pg_stat_database_contributes자세한 내용은.) |
| temp_files | 비긴트 | 이 데이터베이스의 쿼리로 생성된 임시 파일 수. 임시 파일이 삭제된 이유에 관계없이 모든 임시 파일이 계산됩니다. 파일이 생성되었으며(예: 정렬 또는 해싱),log_temp_files설정. |
| temp_bytes | 비긴트 | 다음 쿼리에 의해 임시 파일에 기록된 총 데이터 양 이 데이터베이스. 이유에 관계없이 모든 임시 파일이 계산됩니다. 임시 파일이 생성되었으며,log_temp_files설정. |
| 교착상태 | bigint | 이 데이터베이스에서 감지된 교착 상태 수 |
| blk_read_time | 배정밀도 | 이 백엔드에서 데이터 파일 블록을 읽는 데 소요된 시간 데이터베이스(밀리초) |
| blk_write_time | 배정밀도 | 이 백엔드에서 데이터 파일 블록을 쓰는 데 소요된 시간 데이터베이스(밀리초) |
| stats_reset | 시간대가 포함된 타임스탬프 | 이 토토 캔가 마지막으로 재설정된 시간 |
그pg_stat_database보기는 클러스터의 각 데이터베이스에 대해 하나의 행을 포함합니다. 데이터베이스 전체 통계입니다.
표 27-5.pg_stat_all_tables보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 렐리드 | oid | 테이블의 OID |
| 스키마 이름 | 이름 | 이 테이블이 있는 스키마의 이름 |
| relname | 이름 | 이 테이블의 이름 |
| seq_scan | 비긴트 | 이 테이블에서 시작된 순차 스캔 수 |
| seq_tup_read | 비긴트 | 순차 스캔으로 가져온 라이브 행 수 |
| idx_scan | 비긴트 | 이 테이블에서 시작된 인덱스 스캔 수 |
| idx_tup_fetch | 비긴트 | 인덱스 스캔으로 가져온 라이브 행 수 |
| n_tup_ins | 비긴트 | 삽입된 행 수 |
| n_tup_upd | 비긴트 | 업데이트된 행 수 |
| n_tup_del | 비긴트 | 삭제된 행 수 |
| n_tup_hot_upd | 비긴트 | 핫 업데이트된 행 수(즉, 별도의 인덱스 업데이트 없음) 필수) |
| n_live_tup | 비긴트 | 추정된 라이브 행 수 |
| n_dead_tup | 비긴트 | 예상된 데드 행 수 |
| last_vacuum | 시간대가 포함된 타임스탬프 | 이 테이블을 수동으로 비우기한 마지막 시간입니다(아님 계산진공 가득 참) |
| last_autovacuum | 시간대가 포함된 타임스탬프 | 이 테이블이 자동 진공 청소기로 진공 처리된 마지막 시간 데몬 |
| last_analyze | 시간대가 포함된 타임스탬프 | 이 테이블을 수동으로 분석한 마지막 시간 |
| last_autoanalyze | 시간대가 포함된 타임스탬프 | 이 테이블이 autovacuum에 의해 마지막으로 분석된 시간 데몬 |
| vacuum_count | 비긴트 | 이 테이블을 수동으로 비운 횟수(아님) 계산진공 가득 참) |
| autovacuum_count | bigint | 이 테이블이 autovacuum에 의해 비워진 횟수 데몬 |
| analyze_count | 비긴트 | 이 테이블이 수동으로 분석된 횟수 |
| autoanalyze_count | 비긴트 | 이 테이블이 autovacuum에 의해 분석된 횟수 데몬 |
그pg_stat_all_tables보기가 됩니다 현재 데이터베이스의 각 테이블에 대해 하나의 행을 포함합니다(포함). TOAST 테이블), 해당 특정 항목에 대한 액세스 통계를 표시합니다. 테이블.pg_stat_user_tables그리고pg_stat_sys_tables뷰에는 다음이 포함됩니다. 정보는 동일하지만 사용자 및 시스템 테이블만 표시하도록 필터링되었습니다. 각각.
표 27-6.pg_stat_all_indexes보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 렐리드 | oid | 이 인덱스에 대한 테이블의 OID |
| indexrelid | oid | 이 색인의 OID |
| 스키마이름 | 이름 | 이 인덱스가 있는 스키마의 이름 |
| relname | 이름 | 이 색인의 테이블 이름 |
| indexrelname | 이름 | 이 색인의 이름 |
| idx_scan | 비긴트 | 이 색인에서 시작된 색인 스캔 수 |
| idx_tup_read | 비긴트 | 이 인덱스에 대한 스캔으로 반환된 인덱스 항목 수 |
| idx_tup_fetch | 비긴트 | 다음을 사용하여 간단한 인덱스 스캔으로 가져온 라이브 테이블 행 수 이 색인 |
그pg_stat_all_indexes보기는 현재 데이터베이스의 각 인덱스에 대해 하나의 행을 포함합니다. 해당 특정 인덱스에 대한 액세스에 대한 통계입니다.pg_stat_user_indexes그리고pg_stat_sys_indexes뷰에는 동일한 내용이 포함되어 있습니다. 정보를 제공하지만 사용자 및 시스템 색인만 표시하도록 필터링됨 각각.
색인은 간단한 색인 스캔을 통해 사용할 수 있습니다."비트맵"색인 스캔. 비트맵 스캔에서 여러 인덱스의 출력은 AND 또는 OR 규칙을 통해 결합될 수 있습니다. 따라서 개별 힙 행 페치를 연결하기가 어렵습니다. 비트맵 스캔을 사용할 때 특정 인덱스. 그러므로 비트맵 스캔은를 증가시킵니다.pg_stat_all_indexes.idx_tup_read사용하는 인덱스의 개수, 그리고 그것은pg_stat_all_tables.idx_tup_fetch테이블에 포함되지만 그렇지 않습니다. 영향을 미치지 않음pg_stat_all_indexes.idx_tup_fetch.
참고:그idx_tup_read그리고idx_tup_fetch개수는 다를 수 있습니다 비트맵 스캔을 사용하지 않고도, 왜냐하면idx_tup_read다음에서 검색된 색인 항목 수를 계산합니다. 동안 인덱스idx_tup_fetch개수 테이블에서 가져온 실시간 행. 후자가 적다면 죽은 행이나 아직 커밋되지 않은 행은 인덱스를 사용하여 가져옵니다. 인덱스 전용 스캔을 통해 모든 힙 페치를 방지합니다.
표 27-7.pg_statio_all_tables보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 렐리드 | oid | 테이블의 OID |
| 스키마 이름 | 이름 | 이 테이블이 있는 스키마의 이름 |
| relname | 이름 | 이 테이블의 이름 |
| heap_blks_read | 비긴트 | 이 테이블에서 읽은 디스크 블록 수 |
| heap_blks_hit | 비긴트 | 이 테이블의 버퍼 히트 수 |
| idx_blks_read | 비긴트 | 이 테이블의 모든 인덱스에서 읽은 디스크 블록 수 |
| idx_blks_hit | 비긴트 | 이 테이블의 모든 인덱스에 대한 버퍼 히트 수 |
| toast_blks_read | 비긴트 | 이 테이블의 TOAST 테이블에서 읽은 디스크 블록 수( 모두) |
| toast_blks_hit | 비긴트 | 이 테이블의 TOAST 테이블에 있는 버퍼 히트 수(있는 경우) |
| tidx_blks_read | 비긴트 | 이 테이블의 TOAST 테이블 인덱스에서 읽은 디스크 블록 수 (있는 경우) |
| tidx_blks_hit | 비긴트 | 이 테이블의 TOAST 테이블 인덱스에 있는 버퍼 적중 수(if 모두) |
그pg_statio_all_tables보기는 현재 데이터베이스의 각 테이블에 대해 하나의 행을 포함합니다(포함). TOAST 테이블), 해당 특정 테이블의 I/O에 대한 통계를 표시합니다.pg_statio_user_tables그리고pg_statio_sys_tables뷰에는 다음이 포함됩니다. 정보는 동일하지만 사용자 및 시스템 테이블만 표시하도록 필터링되었습니다. 각각.
표 27-8.pg_statio_all_indexes보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 렐리드 | oid | 이 인덱스에 대한 테이블의 OID |
| indexrelid | oid | 이 색인의 OID |
| 스키마이름 | 이름 | 이 색인이 있는 스키마의 이름 |
| relname | 이름 | 이 색인의 테이블 이름 |
| indexrelname | 이름 | 이 색인의 이름 |
| idx_blks_read | 비긴트 | 이 인덱스에서 읽은 디스크 블록 수 |
| idx_blks_hit | 비긴트 | 이 인덱스의 버퍼 적중 수 |
그pg_statio_all_indexes보기는 현재 데이터베이스의 각 인덱스에 대해 하나의 행을 포함합니다. 해당 특정 인덱스의 I/O에 대한 통계입니다.pg_statio_user_indexes그리고pg_statio_sys_indexes뷰에는 동일한 내용이 포함되어 있습니다. 정보를 제공하지만 사용자 및 시스템 색인만 표시하도록 필터링됨 각각.
표 27-9.pg_statio_all_sequences보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 렐리드 | oid | 시퀀스의 OID |
| 스키마 이름 | 이름 | 이 시퀀스가 있는 스키마의 이름 |
| relname | 이름 | 이 시퀀스의 이름 |
| blks_read | 비긴트 | 이 시퀀스에서 읽은 디스크 블록 수 |
| blks_hit | 비긴트 | 이 시퀀스의 버퍼 히트 수 |
그pg_statio_all_sequences보기 현재 데이터베이스의 각 시퀀스에 대해 하나의 행을 포함합니다. 해당 특정 시퀀스의 I/O에 대한 통계를 표시합니다.
표 27-10.pg_stat_user_functions보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 재미있는 | oid | 함수의 OID |
| 스키마 이름 | 이름 | 이 함수가 있는 스키마의 이름 |
| 기능 이름 | 이름 | 이 함수의 이름 |
| 호출 | 비긴트 | 이 함수가 호출된 횟수 |
| total_time | 배정밀도 | 이 기능 및 기타 모든 기능에 소요된 총 시간 밀리초 단위로 호출됨 |
| self_time | 배정밀도 | 다른 기능을 제외하고 이 기능 자체에 소요된 총 시간 호출된 함수(밀리초 단위) |
그pg_stat_user_functions보기는 추적된 각 함수에 대해 하나의 행을 포함하여 다음에 대한 통계를 표시합니다. 해당 기능의 실행.트랙_기능매개변수는 추적할 기능을 정확하게 제어합니다.
표 27-11.pg_stat_replication보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| pid | 정수 | WAL 발신자 프로세스의 프로세스 ID |
| usesysid | oid | 이 WAL 발신자 프로세스에 로그인한 사용자의 OID |
| 사용자 이름 | 이름 | 이 WAL 발신자 프로세스에 로그인한 사용자의 이름 |
| 응용프로그램_이름 | 텍스트 | 이 WAL에 연결된 애플리케이션의 이름 보낸 사람 |
| 클라이언트_주소 | inet | 이 WAL 발신자에 연결된 클라이언트의 IP 주소. 만약 이 필드가 null이면 클라이언트가 Unix를 통해 연결되었음을 나타냅니다. 서버 컴퓨터의 소켓입니다. |
| 클라이언트_호스트 이름 | 텍스트 | 역방향 DNS에 의해 보고된 연결된 클라이언트의 호스트 이름 조회클라이언트_주소. 이 필드는 IP 연결에 대해서만 null이 아니어야 하며, 다음 경우에만 해당합니다.로그_호스트 이름이다 활성화되었습니다. |
| 클라이언트_포트 | 정수 | 클라이언트가 통신에 사용하는 TCP 포트 번호 이 WAL 발신자 또는-1Unix 소켓이 다음과 같은 경우 사용됨 |
| backend_start | 시간대가 포함된 타임스탬프 | 이 프로세스가 시작된 시간, 즉 클라이언트가 시작된 시간 이 WAL 발신자에 연결됨 |
| 상태 | 텍스트 | 현재 WAL 발신자 상태 |
| sent_location | 텍스트 | 이 연결에서 전송된 마지막 트랜잭션 로그 위치 |
| write_location | 텍스트 | 이 대기에 의해 디스크에 기록된 마지막 트랜잭션 로그 위치 서버 |
| flush_location | 텍스트 | 이 대기에 의해 디스크로 플러시된 마지막 트랜잭션 로그 위치 서버 |
| replay_location | 텍스트 | 다음 날짜의 데이터베이스에 마지막 트랜잭션 로그 위치가 재생되었습니다. 이 대기 서버 |
| 동기화_우선순위 | 정수 | 이 대기 서버를 서버로 선택하기 위한 우선순위 동기 대기 |
| sync_state | 텍스트 | 이 대기 서버의 동기 상태 |
그pg_stat_replication보기는 WAL 발신자 프로세스당 하나의 행을 포함하며 다음에 대한 통계를 표시합니다. 해당 발신자의 연결된 대기 서버로 복제합니다. 만 직접 연결된 대기가 나열됩니다. 정보가 없습니다 다운스트림 대기 서버에 대해.
표 27-12.pg_stat_database_contributes보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
| 데이트 | oid | 데이터베이스의 OID |
| 데이터이름 | 이름 | 이 데이터베이스의 이름 |
| confl_tablespace | 비긴트 | 다음으로 인해 취소된 이 데이터베이스의 쿼리 수 삭제된 테이블스페이스에 |
| confl_lock | 비긴트 | 다음으로 인해 취소된 이 데이터베이스의 쿼리 수 시간 초과를 잠그려면 |
| confl_snapshot | 비긴트 | 다음으로 인해 취소된 이 데이터베이스의 쿼리 수 이전 스냅샷으로 |
| confl_bufferpin | 비긴트 | 다음으로 인해 취소된 이 데이터베이스의 쿼리 수 고정된 버퍼에 |
| confl_deadlock | 비긴트 | 다음으로 인해 취소된 이 데이터베이스의 쿼리 수 교착상태에 빠지다 |
그pg_stat_database_contributes보기 데이터베이스당 하나의 행을 포함하며 데이터베이스 전체 통계를 표시합니다. 복구 충돌로 인해 발생하는 쿼리 취소에 대해 대기 서버. 이 보기에는 대기 상태의 정보만 포함됩니다. 서버, 마스터 서버에서는 충돌이 발생하지 않기 때문입니다.
통계를 보는 다른 방법은 다음과 같이 설정할 수 있습니다. 동일한 기본 통계 액세스 함수를 사용하는 쿼리 위에 표시된 표준 보기에서 사용됩니다. 등의 세부사항에 대해서는 함수 이름은 표준 보기의 정의를 참조하세요. (예를 들어,psql당신은 할 수 있어요 문제\d+ pg_stat_activity.) 액세스 데이터베이스별 통계에 대한 함수는 데이터베이스 OID를 보고할 데이터베이스를 식별하는 인수입니다. 테이블당 및 인덱스별 함수는 테이블 또는 인덱스 OID를 사용합니다. 에 대한 기능 함수별 통계는 함수 OID를 사용합니다. 테이블만 참고하세요. 현재 데이터베이스의 인덱스 및 함수는 다음을 사용하여 볼 수 있습니다. 이러한 기능을 수행합니다.
토토 캔 수집과 관련된 추가 기능이 나열됩니다. 에서테이블 27-13.
표 27-13. 추가 토토 캔 기능
| 기능 | 반환 유형 | 설명 |
|---|---|---|
pg_backend_pid() |
정수 | 현재를 처리하는 서버 프로세스의 프로세스 ID 세션 |
pg_stat_get_activity(정수) |
레코드 세트 | 백엔드에 대한 정보 레코드를 반환합니다. 지정된 PID 또는 시스템의 각 활성 백엔드에 대한 하나의 레코드 만일NULL이 지정되었습니다. 반환된 필드 은(는)pg_stat_activity보기. |
pg_stat_clear_snapshot() |
무효 | 현재 통계 스냅샷 삭제 |
pg_stat_reset() |
무효 | 현재 데이터베이스의 모든 통계 카운터를 0으로 재설정 (수퍼유저 권한 필요) |
pg_stat_reset_shared(텍스트) |
무효 | 일부 클러스터 전체 토토 캔 카운터를 0으로 재설정합니다. 인수에 대해(수퍼유저 권한 필요) 전화 중pg_stat_reset_shared('bgwriter')모두 0이 됩니다. 카운터는에 표시됩니다.pg_stat_bgwriter보기. |
pg_stat_reset_single_table_counters(oid) |
무효 | 현재 테이블 또는 인덱스에 대한 통계 재설정 데이터베이스를 0으로 설정(수퍼유저 권한 필요) |
pg_stat_reset_single_function_counters(oid) |
무효 | 현재 데이터베이스의 단일 함수에 대한 통계 재설정 0으로 설정(수퍼유저 권한 필요) |
pg_stat_get_activity,
의 기본 기능pg_stat_activityview, 레코드 세트를 반환합니다.
각 백엔드에 대해 사용 가능한 모든 정보가 포함되어 있습니다.
프로세스. 때로는 단지 a를 얻는 것이 더 편리할 수도 있습니다.
이 정보의 하위 집합입니다. 그러한 경우에는 이전 세트의
백엔드별 통계 액세스 기능을 사용할 수 있습니다. 이것들은
에 표시됨테이블
27-14. 이러한 액세스 기능은 백엔드 ID 번호를 사용합니다.
범위는 1부터 현재 활성 백엔드 수까지입니다. 는
기능pg_stat_get_backend_idset각 활성 항목에 대해 하나의 행을 생성하는 편리한 방법을 제공합니다.
이러한 기능을 호출하기 위한 백엔드. 예를 들어, 다음을 표시하려면PIDs 및 모든 현재 쿼리
백엔드:
SELECT pg_stat_get_backend_pid(s.backendid) AS pid,
pg_stat_get_backend_activity(s.backendid) AS 쿼리
FROM (SELECT pg_stat_get_backend_idset() AS 백엔드) AS s;
표 27-14. 백엔드별 토토 캔 함수
| 기능 | 반환 유형 | 설명 |
|---|---|---|
pg_stat_get_backend_idset() |
정수 집합 | 현재 활성화된 백엔드 ID 번호 세트(1부터 활성 백엔드 수) |
pg_stat_get_backend_activity(정수) |
텍스트 | 이 백엔드의 가장 최근 쿼리 텍스트 |
pg_stat_get_backend_activity_start(정수) |
시간대가 포함된 타임스탬프 | 가장 최근 쿼리가 시작된 시간 |
pg_stat_get_backend_client_addr(정수) |
inet | 이 백엔드에 연결된 클라이언트의 IP 주소 |
pg_stat_get_backend_client_port(정수) |
정수 | 클라이언트가 통신에 사용하는 TCP 포트 번호 |
pg_stat_get_backend_dbid(정수) |
oid | 이 백엔드가 연결된 데이터베이스의 OID |
pg_stat_get_backend_pid(정수) |
정수 | 이 백엔드의 프로세스 ID |
pg_stat_get_backend_start(정수) |
시간대가 포함된 타임스탬프 | 이 프로세스가 시작된 시간 |
pg_stat_get_backend_userid(정수) |
oid | 이 백엔드에 로그인한 사용자의 OID |
pg_stat_get_backend_waiting(정수) |
부울 | 이 백엔드가 현재 잠금을 기다리고 있는 경우 참 |
pg_stat_get_backend_xact_start(정수) |
시간대가 포함된 타임스탬프 | 현재 트랜잭션이 시작된 시간 |
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 표준 Unix 도구 | 위로 | 잠금 보기 |