이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 동일한 페이지를 볼 수 있습니다토토 사이트 순위 PostgreSQL : 문서 : 17 : 27.2. 누적 통계 시스템버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

27.2. 토토 캔 수집가

PostgreSQL's토토 캔 수집가는 지원하는 서브 시스템입니다 서버 활동에 대한 정보 수집 및보고. 현재 컬렉터는 테이블 및 인덱스에 대한 액세스를 계산할 수 있습니다. 디스크 블록 및 개별 열 용어에서. 또한 추적합니다 각 테이블의 총 행 수와 진공에 대한 정보 각 테이블의 작업을 분석하십시오. 또한 전화를 셀 수 있습니다 사용자 정의 기능 및 각 기능에 소요되는 총 시간.

postgresql도 지원합니다 현재 다른 사람이 실행중인 정확한 명령보고 서버 프로세스. 이 시설은 수집가와 무관합니다 프로세스.

27.2.1. 통계 수집 구성

토토 캔 수집이 쿼리에 약간의 오버 헤드가 추가되므로 실행, 시스템은 수집하거나 수집하지 않도록 구성 할 수 있습니다. 정보. 이것은 구성 매개 변수로 제어됩니다 일반적으로postgresql.conf. (보다범퍼카 토토 : 문서 : 9.3 : 서버 구성에 대한 자세한 내용 구성 매개 변수 설정.)

매개 변수track_activities서버 프로세스.

매개 변수track_counts테이블 및 인덱스에 대한 토토 캔가 수집되는지 여부를 제어합니다 접근.

매개 변수track_functions사용자 정의 함수의 사용 추적 활성화.

매개 변수track_io_timing블록 읽기 및 쓰기 시간의 모니터링 가능.

일반적으로 이러한 매개 변수는에 설정됩니다.postgresql.conf모든 서버에 적용되도록합니다 프로세스이지만 개인에서 켜거나 끄는 것은 가능합니다. 사용 세션스포츠 토토 : 문서 : 9.3 : set명령. (에게 일반 사용자가 활동을 숨기지 못하게합니다 관리자, 슈퍼업자만이이를 변경할 수 있습니다 가있는 매개 변수SET.)

토토 캔 수집가는 수집 된 정보를 전달합니다 다른PostgreSQL임시 파일. 이 파일은 이름이 지정된 디렉토리에 저장됩니다 그만큼stats_temp_directory매개 변수,PG_STAT_TMP기본적으로. 을 위한 더 나은 성능,stats_temp_directoryRAM 기반 파일 시스템을 가리켜 물리적 I/O를 감소시킬 수 있습니다. 요구 사항. 서버가 종료되면 토토 캔 데이터는에 저장됩니다.PG_STAT서버 전체에 토토 캔를 유지할 수 있도록 하위 디렉토리 다시 시작.

27.2.2. 수집 된 시청 통계

몇 가지 사전 정의 된 뷰, 나열된테이블 27-1, 토토 캔 결과를 보여줄 수 있습니다 수집. 또는 The를 사용하여 사용자 정의보기를 구축 할 수 있습니다 기본 토토 캔 기능,섹션 27.2.3.

통계를 사용하여 현재 활동을 모니터링 할 때 정보가 업데이트되지 않는다는 것을 인식하는 것이 중요합니다 순간적으로. 각 개별 서버 프로세스는 새로 전송됩니다 유휴 상태가되기 직전에 수집가에게 통계적 계산; 그래서 a 여전히 진행중인 쿼리 또는 거래는 총계가 표시됩니다. 또한 수집가 자체는 새로운 보고서를 제출합니다 대부분의 경우pgstat_stat_interval밀리 초 (서버를 구축하는 동안 변경되지 않는 한 500ms). 그래서 표시된 정보는 실제 활동보다 뒤떨어집니다. 하지만, 현재 수집 한 현재 쿼리 정보track_activities항상 최신입니다.

또 다른 중요한 점은 서버 프로세스가 요청 될 때 이러한 통계를 표시하려면 먼저 가장 많이 가져옵니다. 최근 보고서가 수집기 프로세스에 의해 방출 된 다음 계속됩니다. 이 스냅 샷을 모든 통계 뷰 및 기능에 사용하려면 현재 거래의 끝. 따라서 통계가 표시됩니다 현재 트랜잭션을 계속하는 한 정적 정보. 마찬가지로 모든 세션의 현재 쿼리에 대한 정보는 다음과 같습니다. 그러한 정보가 처음 요청 될 때 수집됩니다. 거래 및 동일한 정보가 전체적으로 표시됩니다 거래. 이것은 버그가 아닌 기능입니다. 통계에서 몇 가지 쿼리를 수행하고 상관 관계가 있습니다. 숫자가 아래에 바뀌는 것을 걱정하지 않고 결과 너. 그러나 각 쿼리마다 새로운 결과를보고 싶다면 트랜잭션 블록 외부에서 쿼리를 수행하십시오. 또는 당신은 호출 할 수 있습니다PG_STAT_CLEAR_SNAPSHOT(), 현재 트랜잭션의 통계 스냅 샷을 폐기합니다 (경우). 다음 통계 정보를 사용하면 새로운 스냅 샷을 가져올 스냅 샷.

거래는 자체 토토 캔를 볼 수 있습니다 (아직 수집가에게 전송되지 않음).pg_stat_xact_all_tables, PG_STAT_XACT_SYS_TABLE, PG_STAT_XACT_USER_TABLESPG_STAT_XACT_USER_FUNTIONS. 이 숫자는 그렇지 않습니다 위에서 언급 한대로 행동하십시오. 대신 그들은 지속적으로 업데이트됩니다 거래.

표 27-1. 표준 토토 캔보기

보기 이름 설명
pg_stat_activity 서버 프로세스 당 하나의 행, 상태 및 현재 쿼리와 같은 해당 프로세스의 현재 활동. 보다pg_stat_activity자세한 내용.
PG_STAT_BGWRITER 배경 작가에 대한 토토 캔를 보여주는 하나의 행만 프로세스의 활동. 보다PG_STAT_BGWRITER자세한 내용.
PG_STAT_DATABASE 데이터베이스 전체 토토 캔를 표시하는 데이터베이스 당 1 행. 보다PG_STAT_DATABASE자세한 내용.
pg_stat_all_tables 현재 데이터베이스의 각 테이블마다 1 개의 행, 표시 해당 특정 테이블에 대한 액세스에 대한 통계. 보다pg_stat_all_tables자세한 내용.
PG_STAT_SYS_TABLE 동일pg_stat_all_tables시스템 테이블 만 표시됩니다.
PG_STAT_USER_TABLE 동일pg_stat_all_tables사용자 테이블 만 표시됩니다.
pg_stat_xact_all_tables 유사pg_stat_all_tables, 그러나 지금까지 현재 거래 내에서 취한 조치 ( 이다not아직 포함pg_stat_all_tables및 관련 견해). 라이브 및 죽은 행 및 진공 청소기의 수에 대한 열 및 이 견해에는 작업 분석이 존재하지 않습니다.
PG_STAT_XACT_SYS_TABLE 동일pg_stat_xact_all_tables, 시스템 테이블 만 표시됩니다.
PG_STAT_XACT_USER_TABLES 동일pg_stat_xact_all_tables, 사용자 테이블 만 표시됩니다.
PG_STAT_ALL_INDEXES 현재 데이터베이스의 각 인덱스마다 1 개의 행, 표시 해당 특정 지수에 대한 액세스에 대한 통계. 보다PG_STAT_ALL_INDEXES자세한 내용.
PG_STAT_SYS_INDEXES 동일PG_STAT_ALL_INDEXES시스템 테이블의 색인 만 표시됩니다.
PG_STAT_USER_INDEXES 동일PG_STAT_ALL_INDEXES사용자 테이블의 색인 만 표시됩니다.
pg_statio_all_tables 현재 데이터베이스의 각 테이블마다 1 개의 행, 표시 해당 특정 테이블의 I/O에 대한 통계. 보다pg_statio_all_tables자세한 내용.
PG_STATIO_SYS_TABLE 동일pg_statio_all_tables, 시스템 테이블 만 표시됩니다.
PG_STATIO_USER_TABLE 동일pg_statio_all_tables, 사용자 테이블 만 표시됩니다.
PG_STATIO_ALL_INDEXES ​​현재 데이터베이스의 각 인덱스마다 1 개의 행, 표시 해당 특정 지수의 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_SEATENCES 현재 데이터베이스의 각 시퀀스에 대한 하나의 행, 표시 해당 특정 시퀀스의 I/O에 대한 통계. 보다PG_STATIO_ALL_SEATENCES자세한 내용.
PG_STATIO_SYS_SEVESSENCES 동일PG_STATIO_ALL_SEATENCES, 시스템 시퀀스 만 표시됩니다. (현재, 시스템 없음 시퀀스가 정의 되므로이보기는 항상 비어 있습니다.)
PG_STATIO_USER_SEVERENCES 동일PG_STATIO_ALL_SEVESSENCES, 사용자 시퀀스 만 표시됩니다.
PG_STAT_USER_FUNTIONS 각 추적 함수에 대해 하나의 행으로 토토 캔를 보여줍니다 그 기능의 실행. 보다PG_STAT_USER_FUNTIONS자세한 내용.
PG_STAT_XACT_USER_FUNTIONS 유사PG_STAT_USER_FUNTIONS, 그러나 현재 거래 중 호출 만 계산합니다 (not아직 포함PG_STAT_USER_FUNTIONS).
pg_stat_replication WAL 발신자 프로세스 당 1 행, 토토 캔를 보여줍니다 해당 발신자의 연결된 대기 서버에 대한 복제. 보다pg_stat_replication자세한 내용.
PG_STAT_DATABASE_CONFLICTS 데이터베이스 당 하나의 행으로 데이터베이스 전체 토토 캔를 표시합니다 대기 서버의 복구와 충돌하여 쿼리가 취소됩니다. 보다PG_STAT_DATABASE_CONFLICTS자세한 내용.

인덱스 당 토토 캔는 특히 결정하는 데 유용합니다 어떤 인덱스가 사용되고 얼마나 효과적인지

thePG_STATIO_보기는 주로입니다 버퍼 캐시의 효과를 결정하는 데 유용합니다. 언제 실제 디스크 판독 수는 수보다 훨씬 작습니다. 버퍼 히트, 그런 다음 캐시는 대부분의 읽기 요청을 만족시킵니다. 커널 호출을 호출하지 않고. 그러나 이러한 통계는 그렇지 않습니다 전체 이야기를 제공하십시오 : 그 길로 인해PostgreSQL디스크 I/O 핸들 데이터, 그렇지 않은 데이터 에서PostgreSQL버퍼 캐시 커널의 I/O 캐시에 여전히 존재할 수 있으므로 물리적 읽기가 필요하지 않고도 여전히 가져 오십시오. 사용자 보다 자세한 정보를 얻는 데 관심이 있습니다postgresqlI/O 동작은 사용하는 것이 좋습니다PostgreSQL토토 캔 수집가 통찰력을 허용하는 운영 체제 유틸리티와의 결합 커널의 I/O 처리

표 27-2.pg_stat_activity보기

타입 설명
datid OID 데이터베이스의 OID이 백엔드는에 연결되어 있습니다.
datname 이름 데이터베이스 이름이 백엔드는에 연결되어 있습니다.
PID Integer 이 백엔드의 프로세스 ID
useysid OID 이 백엔드에 로그인 한 사용자의 OID
useName 이름 이 백엔드에 로그인 한 사용자 이름
application_name 텍스트 이 백엔드에 연결된 응용 프로그램 이름
client_addr inet 이 백엔드에 연결된 클라이언트의 IP 주소. 이 경우 필드는 null이므로 클라이언트가 서버 시스템의 UNIX 소켓 또는 이것이 내부입니다. Autovacuum과 같은 프로세스
client_hostname 텍스트 Reverse DNS에 의해보고 된대로 Connected Client의 호스트 이름 조회client_addr. 이 필드는 할 것입니다 IP 연결에 대해서만 널이 아니며 만log_hostnameIS 활성화.
client_port 정수 클라이언트가 통신에 사용하는 TCP 포트 번호 이 백엔드, 또는-1UNIX 소켓 인 경우 사용된
backend_start 시간대가있는 타임 스탬프 이 프로세스가 시작된 시간, 즉 클라이언트가 서버에 연결
XACT_START 시간대가있는 타임 스탬프 이 프로세스의 현재 트랜잭션이 시작된 시간, 또는 트랜잭션이 활성화되지 않은 경우 NULL. 현재 쿼리가 첫 번째 인 경우 거래 에서이 열은와 같습니다.query_start열.
query_start 시간대가있는 타임 스탬프 현재 활성 쿼리가 시작된 시간 또는 ifStateActive, 마지막 쿼리가 시작되었을 때
State_change 시간대가있는 타임 스탬프 시간 시간State마지막이었습니다 변경된
대기 부울 이 백엔드가 현재 잠금 장치에서 기다리고 있다면.
State 텍스트 이 백엔드의 현재 전체 상태. 가능한 가치는 다음과 같습니다.
  • Active: 백엔드가 실행 중입니다 질문.

  • 유휴: 백엔드가 새로운 것을 기다리고 있습니다 클라이언트 명령.

  • 트랜잭션의 유휴 상태: 백엔드가 있습니다 거래이지만 현재 쿼리를 실행하고 있지 않습니다.

  • 트랜잭션의 유휴 상태 (중단): 이것은 상태는와 유사합니다.트랜잭션의 유휴 상태, 거래의 진술 중 하나를 제외하고 오류.

  • FastPath 함수 호출: 백엔드는입니다 빠른 경로 기능 실행.

  • 장애인:이 상태가보고된다.track_activities이 백엔드에서 비활성화되었습니다.

쿼리 텍스트 이 백엔드의 최신 쿼리의 텍스트. 만약에StateisActive이것 필드는 현재 실행중인 쿼리를 보여줍니다. 다른 모든 주에서는 실행 된 마지막 쿼리를 보여줍니다.

thepg_stat_activity보기가 있습니다 서버 프로세스 당 한 행, 관련 정보를 보여줍니다. 그 과정의 현재 활동.

참고 :the대기andState열은 독립적입니다. 경우 a 백엔드는에 있습니다.ActiveState, OR 할 수 있습니다대기. 주가 인 경우Active대기사실입니다. 그것은 쿼리가 있음을 의미합니다 실행되었지만 어딘가에 자물쇠에 의해 차단되고 있습니다. 체계.

표 27-3.PG_STAT_BGWRITER보기

타입 설명
Checkpoints_timed bigint 수행 된 예정된 체크 포인트 수
CheckPoints_Req bigint 수행 된 요청 된 검문소 수
Checkpoint_write_time 이중 정밀도 파일이 디스크에 기록되는 체크 포인트 처리 밀리 초
checkpoint_sync_time 이중 정밀도 파일이 디스크와 동기화되는 체크 포인트 처리 밀리 초
buffers_checkpoint bigint 체크 포인트 중에 작성된 버퍼 수
buffers_clean bigint 배경 작성자가 작성한 버퍼 수
MaxWritten_clean bigint 배경 작가가 청소 스캔을 중지 한 횟수 너무 많은 버퍼를 작성했기 때문에
buffers_backend bigint 백엔드에 의해 직접 작성된 버퍼 수
buffers_backend_fsync bigint 백엔드가 자체적으로 실행 해야하는 횟수fsync전화 (일반적으로 배경 작가 백엔드가 자체 쓰기를 할 때에도 처리합니다)
buffers_alloc bigint 할당 된 버퍼 수
stats_reset 시간대가있는 타임 스탬프 이러한 토토 캔가 마지막으로 재설정 된 시간

thePG_STAT_BGWRITERView Will 항상 글로벌 데이터를 포함하는 단일 행이 있습니다. 무리.

표 27-4.PG_STAT_DATABASE보기

타입 설명
datid OID 데이터베이스의 OID
datname 32529_32535 이 데이터베이스 이름
Numbackends 정수 현재이 데이터베이스에 연결된 백엔드 수. 이것 이보기에서 값 반사를 반영하는 유일한 열입니다. 현재 상태; 다른 모든 열은 누적 된 값을 반환합니다 마지막 재설정 이후
xact_commit bigint 이 데이터베이스의 트랜잭션 수 헌신적인
xact_rollback bigint 롤링 된이 데이터베이스의 트랜잭션 수 뒤쪽에
blks_read bigint 이 데이터베이스에서 읽는 디스크 블록 수
blks_hit bigint 버퍼에서 이미 발견 된 디스크 블록이 발견되었습니다. 읽기가 필요하지 않도록 캐시 (이것은 히트 만 포함됩니다. 운영 체제의 파일 시스템이 아닌 PostgreSQL 버퍼 캐시 은닉처)
tup_returned bigint 이 데이터베이스의 쿼리에 의해 반환 된 행 수
tup_fetched bigint 이 데이터베이스의 쿼리에 의해 가져온 행 수
tup_inserted bigint 이 데이터베이스의 쿼리에 의해 삽입 된 행 수
tup_updated bigint 이 데이터베이스의 쿼리로 업데이트 된 행 수
tup_deleted bigint 이 데이터베이스의 쿼리로 삭제 된 행 수
갈등 bigint 복구 충돌로 인해 취소 된 쿼리 수 이 데이터베이스. (충돌은 대기 서버에서만 발생합니다. 참조PG_STAT_DATABASE_CONFLICTS자세한 내용.)
temp_files bigint 이 데이터베이스의 쿼리에 의해 생성 된 임시 파일 수. 일시적인 이유에 관계없이 모든 임시 파일이 계산됩니다. 파일이 생성되었습니다 (예 : 정렬 또는 해싱).log_temp_files설정.
temp_bytes bigint 쿼리로 임시 파일에 기록 된 총 데이터 금액 이 데이터베이스. 이유에 관계없이 모든 임시 파일은 계산됩니다 임시 파일이 생성되었으며에 관계없이log_temp_files설정.
교착 상태 bigint 이 데이터베이스에서 감지 된 교착 상태
blk_read_time 이중 정밀 이것에 의해 백엔드에 의해 데이터 파일 블록을 읽는 데 소요 된 시간 데이터베이스, 밀리 초
blk_write_time 이중 정밀 이것에 의해 백엔드에 의해 데이터 파일 블록을 작성하는 데 소요 된 시간 데이터베이스, 밀리 초
stats_reset 시간대가있는 타임 스탬프 이러한 토토 캔가 마지막으로 재설정 된 시간

thePG_STAT_DATABASE보기 클러스터에 각 데이터베이스마다 하나의 행을 포함하여 데이터베이스 전체 통계.

표 27-5.pg_stat_all_tables보기

타입 설명
Relid OID 테이블의 OID
Schemaname 이름 이 테이블에있는 스키마 이름
Relname 이름 이 테이블의 이름
SEQ_SCAN bigint 이 표에서 시작된 순차적 스캔 수
seq_tup_read bigint 순차적 스캔으로 가져온 라이브 행 수
idx_scan bigint 이 표에서 시작된 인덱스 스캔 수
idx_tup_fetch bigint 인덱스 스캔에 의해 가져온 라이브 행 수
n_tup_ins bigint 삽입 된 행 수
N_TUP_UPD bigint 행 수 업데이트
n_tup_del bigint 삭제 된 행 수
N_TUP_HOT_UPD bigint 행 수 핫 업데이트 (즉, 별도의 인덱스 업데이트 없음 필수의)
n_live_tup bigint 예상 라이브 행 수
n_dead_tup bigint 죽은 줄의 추정 수
last_vacuum 시간대가있는 타임 스탬프 이 테이블이 수동으로 진공 청소 된 마지막 시간 ( 계산진공 Full)
last_autovacuum 시간대가있는 타임 스탬프 이 테이블이 Autovacuum에 의해 청소 한 마지막 시간 악마
last_analyze 시간대가있는 타임 스탬프 이 테이블이 수동으로 분석 된 마지막 시간
last_autoanalyze 시간대가있는 타임 스탬프 이 테이블이 Autovacuum에 의해 분석 된 마지막 시간 악마
Vacuum_Count bigint 이 테이블이 수동으로 진공 청소기가 됨 ( 계산진공 Full)
autovacuum_count bigint 이 테이블이 Autovacuum에 의해 진공 청소기를 청소했습니다. 악마
Analyze_Count bigint 이 테이블이 수동으로 분석 된 횟수
autoanalyze_count bigint 이 테이블이 Autovacuum에 의해 분석되었습니다. 악마

thepg_stat_all_tablesView Will 현재 데이터베이스에 각 테이블마다 하나의 행을 포함합니다 (포함 토스트 테이블), 해당 특정에 대한 액세스에 대한 통계를 보여줍니다 테이블. 그만큼PG_STAT_USER_TABLEPG_STAT_SYS_TABLE보기가 포함되어 있습니다 동일한 정보이지만 사용자 및 시스템 테이블 만 표시하도록 필터링되었습니다. 각기.

표 27-6.PG_STAT_ALL_INDEXES보기

타입 설명
릴리드 OID 이 색인에 대한 테이블의 OID
IndexRelid OID 이 색인의 OID
Schemaname 이름 스키마 이름이 색인이
Relname 이름 이 인덱스의 테이블 이름
indexRelName 이름 이 색인의 이름
idx_scan bigint 이 인덱스에서 시작된 인덱스 스캔 수
idx_tup_read bigint 이 인덱스에서 스캔에 의해 반환 된 인덱스 항목 수
idx_tup_fetch bigint 간단한 인덱스 스캔으로 가져온 라이브 테이블 행 수 이 색인

thePG_STAT_ALL_INDEXES보기 현재 데이터베이스에 각 인덱스에 대해 하나의 행을 포함하여 해당 특정 지수에 대한 액세스에 대한 통계. 그만큼PG_STAT_USER_INDEXESandPG_STAT_SYS_INDEXES보기에는 동일합니다 정보이지만 사용자 및 시스템 인덱스 만 표시하도록 필터링되었습니다. 각기.

인덱스는 간단한 인덱스 스캔 또는를 통해 사용할 수 있습니다."비트 맵"인덱스 스캔. 비트 맵 스캔에서 여러 인덱스의 출력은 또는 또는 또는 규칙을 통해 결합 할 수 있습니다. 따라서 개별 힙 행 페치를 연관시키는 것은 어렵습니다. 비트 맵 스캔을 사용하는 경우 특정 인덱스. 따라서 비트 맵 스캔은를 증가시킵니다PG_STAT_ALL_INDEXES.idx_tup_read사용하는 인덱스의 카운트 (s), 그리고 그것은를 증가시킵니다.pg_stat_all_tables.idx_tup_fetch테이블을 계산하지만 그렇습니다 영향을 미치지 않음PG_STAT_ALL_INDEXES.idx_tup_fetch.

참고 :theidx_tup_readidx_tup_fetch카운트는 다를 수 있습니다 비트 맵 스캔을 사용하지 않아도idx_tup_read검색 된 인덱스 항목 카운트 인덱스 whileidx_tup_fetch카운트 테이블에서 라이브 행이 가져 왔습니다. 후자는 더 적을 것입니다 사망하거나 제하지 않은 행은 인덱스를 사용하여 가져 오거나 인덱스 전용 스캔을 통해 모든 힙 가져 오기를 피합니다.

표 27-7.pg_statio_all_tables보기

타입 설명
릴리드 OID 테이블의 OID
Schemaname 이름 이 테이블이있는 스키마의 이름
Relname 이름 이 테이블의 이름
Heap_Blks_Read bigint 이 테이블에서 읽은 디스크 블록 수
heap_blks_hit bigint 이 테이블의 버퍼 히트 수
idx_blks_read bigint 이 테이블의 모든 인덱스에서 읽은 디스크 블록 수
idx_blks_hit bigint 이 테이블의 모든 인덱스에서 버퍼 히트 횟수
TOAST_BLKS_READ bigint 이 테이블의 토스트 테이블에서 읽은 디스크 블록 수 (if 어느)
TOAST_BLKS_HIT bigint 이 테이블의 토스트 테이블에서 버퍼 히트 수 (있는 경우)
TIDX_BLKS_READ bigint 이 테이블의 토스트 테이블 인덱스에서 읽은 디스크 블록 수 (있는 경우)
TIDX_BLKS_HIT bigint 이 테이블의 토스트 테이블 인덱스의 버퍼 히트 수 (if 어느)

thepg_statio_all_tables보기 현재 데이터베이스에 각 테이블마다 하나의 행을 포함합니다 (포함 토스트 테이블), 해당 특정 테이블의 I/O에 대한 통계를 보여줍니다. 그만큼pg_statio_user_tablesandPG_STATIO_SYS_TABLE보기가 포함되어 있습니다 동일한 정보이지만 사용자 및 시스템 테이블 만 표시하도록 필터링되었습니다. 각기.

표 27-8.PG_STATIO_ALL_INDEXES보기

타입 설명
릴리드 OID 이 색인에 대한 테이블의 OID
IndexRelid OID 이 색인의 OID
Schemaname 이름 스키마 이름이 색인이
Relname 이름 이 색인의 테이블 이름
indexRelName 이름 이 색인의 이름
idx_blks_read bigint 이 인덱스에서 읽은 디스크 블록 수
idx_blks_hit bigint 이 색인의 버퍼 히트 수

thePG_STATIO_ALL_INDEXESView Will 현재 데이터베이스에 각 인덱스에 대해 하나의 행을 포함하여 해당 특정 지수의 I/O에 대한 통계. 그만큼PG_STATIO_USER_INDEXESandPG_STATIO_SYS_INDEXES보기에는 동일합니다 정보이지만 사용자 및 시스템 인덱스 만 표시하도록 필터링되었습니다. 각기.

표 27-9.PG_STATIO_ALL_SEVESSENCES보기

타입 설명
Relid OID 시퀀스의 OID
Schemaname 이름 스키마의 이름이 시퀀스는
Relname 이름 이 시퀀스의 이름
blks_read bigint 이 시퀀스에서 읽은 디스크 블록 수
blks_hit bigint 이 시퀀스의 버퍼 히트 수

thePG_STATIO_ALL_SEVESSENCES보기 현재 데이터베이스의 각 시퀀스에 대해 하나의 행이 포함되며 해당 특정 시퀀스에서 I/O에 대한 통계 표시.

표 27-10.PG_STAT_USER_FUNTIONS보기

타입 설명
funcid OID 함수의 OID
Schemaname 이름 스키마 이름이 함수는
funcName 이름 이 기능의 이름
전화 bigint 이 기능이 호출 된 횟수
Total_Time 이중 정밀 이 기능 및 기타 모든 기능에 소요되는 총 시간 그것에 의해, 밀리 초로
self_time 이중 정밀 이 기능 자체에서 보낸 총 시간은 다른 것을 포함하지 않습니다. 밀리 초로 호출되는 함수

thePG_STAT_USER_FINCTIONS보기 각 추적 기능에 대해 한 행을 포함하여 통계를 표시합니다. 그 기능의 실행. 그만큼Track_Functions매개 변수 제어 정확히 어떤 함수가 추적되는지

표 27-11.pg_stat_replication보기

type 설명
PID 정수 WAL 발신자 프로세스의 프로세스 ID
useysid OID 이 WAL 발신자 프로세스에 로그인 한 사용자의 OID
useName 이름 이 WAL 발신자 프로세스에 로그인 한 사용자 이름
Application_Name 텍스트 이 WAL에 연결된 응용 프로그램 이름 보내는 사람
client_addr inet 이 WAL 발신자에 연결된 클라이언트의 IP 주소. 이 경우 필드는 NULL이며 클라이언트가 UNIX를 통해 연결되어 있음을 나타냅니다. 서버 시스템의 소켓.
client_hostname 텍스트 Reverse DNS에 의해보고 된대로 Connected Client의 호스트 이름 조회client_addr. 이 필드는 할 것입니다 IP 연결에 대해서만 널이 아니며 만log_hostnameIS 활성화.
client_port Integer 클라이언트가 통신에 사용하는 TCP 포트 번호 이 WAL 발신자, 또는-1UNIX 소켓 인 경우 사용된
backend_start 시간대가있는 타임 스탬프 이 프로세스가 시작된 시간, 즉 클라이언트시기 이 WAL 발신자에 연결
State 텍스트 현재 Wal Sender State
sent_location 텍스트 이 연결에서 전송 된 마지막 트랜잭션 로그 위치
쓰기 _location 텍스트 이 대기로 디스크에 기록 된 마지막 트랜잭션 로그 위치 섬기는 사람
flush_location 텍스트 이 대기로 디스크로 플러시 된 마지막 트랜잭션 로그 위치 섬기는 사람
Replay_Location 텍스트 마지막 트랜잭션 로그 위치가 데이터베이스 켜기로 재생되었습니다 이 대기 서버
sync_priority 정수 이 대기 서버의 우선 순위는 동기 대기
sync_state 텍스트 이 대기 서버의 동기 상태

thepg_stat_replicationView Will WAL 발신자 프로세스 당 한 행을 포함하여 통계를 보여줍니다. 해당 발신자의 연결된 대기 서버에 대한 복제. 오직 직접 연결된 대기는 나열됩니다. 정보가 없습니다 다운 스트림 대기 서버 정보.

표 27-12.PG_STAT_DATABASE_CONFLICTS보기

타입 설명
datid OID 데이터베이스의 OID
datname 이름 이 데이터베이스 이름
cl_tablespace bigint 이 데이터베이스의 쿼리 수는 취소 된 것으로 취소되었습니다. 테이블 스페이스를 삭제하려면
cl_lock bigint 이 데이터베이스의 쿼리 수는 취소 된 것으로 취소되었습니다. 시간 초과 잠금
COLL_SNAPSHOT bigint 이 데이터베이스의 쿼리 수는 취소 된 것으로 오래된 스냅 샷
COLL_BUFFERPIN bigint 이 데이터베이스의 쿼리 수는 취소 된 것으로 취소되었습니다. 고정 된 버퍼
cl_deadlock bigint 이 데이터베이스의 쿼리 수는 취소 된 것으로 취소되었습니다. 교착 상태

thePG_STAT_DATABASE_CONFLICTS보기 데이터베이스 당 하나의 행이 포함되어 데이터베이스 전체 통계가 표시됩니다 복구와의 충돌로 인해 발생하는 쿼리 취소 대기 서버. 이보기에는 대기에 대한 정보 만 포함됩니다 마스터 서버에서 충돌이 발생하지 않기 때문에 서버.

27.2.3. 통계 기능

통계를 보는 다른 방법은 글을 쓰면 설정할 수 있습니다. 동일한 기본 통계 액세스 기능을 사용하는 쿼리 위에 표시된 표준보기에 사용됩니다. 와 같은 자세한 내용은 함수의 이름은 표준보기의 정의를 참조하십시오. (예를 들어,PSQL할 수 있습니다 문제\ d+ pg_stat_activity.) 액세스 -데이터베이스 통계에 대한 기능은 데이터베이스 OID를 보고 할 데이터베이스를 식별하는 인수. 테이블 당 및 인덱스 당 기능은 테이블 또는 인덱스 OID를 취합니다. 기능 기능 당 통계는 기능 OID를 취합니다. 테이블 만, 현재 데이터베이스의 인덱스 및 기능은 다음과 같이 볼 수 있습니다. 이 기능.

토토 캔 수집과 관련된 추가 기능이 나열되어 있습니다 안에테이블 27-13.

표 27-13. 추가 토토 캔 기능

기능 반환 유형 설명
pg_backend_pid () Integer 서버 프로세스의 프로세스 ID는 전류를 처리합니다 세션
pg_stat_get_activity(Integer) Setof Record 백엔드에 대한 정보 기록을 반환합니다. 지정된 PID 또는 시스템의 각 활성 백엔드에 대해 하나의 레코드 만약에NULL지정되어 있습니다. 필드가 돌아 왔습니다 의 하위 집합입니다.pg_stat_activity보기
PG_STAT_CLEAR_SNAPSHOT () void 현재 통계를 버립니다
PG_STAT_RESET () void 현재 데이터베이스의 모든 통계 카운터를 0으로 재설정합니다. (수퍼 유저 권한 필요)
PG_STAT_RESET_SHARED(텍스트) void 일부 클러스터 전체 통계 카운터를 0으로 재설정하십시오 인수에 대해 (슈퍼 서서 권한이 필요하다). 부름PG_STAT_RESET_SHARD ( 'BGWRITER')모든 것을 0으로 제로 할 것입니다 에 표시된 카운터PG_STAT_BGWRITER보기
pg_stat_reset_single_table_counters(OID) void 현재의 단일 테이블 또는 인덱스에 대한 통계 재설정 Database to Zero (Superuser 권한 필요)
pg_stat_reset_single_function_counters(OID) void 현재 데이터베이스의 단일 함수에 대한 통계 재설정 Zero (슈퍼업자 권한 필요)

pg_stat_get_activity, 의 기본 기능pg_stat_activity보기, 레코드 세트를 반환합니다 각 백엔드에 대한 모든 정보를 포함합니다 프로세스. 때로는 이 정보의 하위 집합. 그러한 경우, 오래된 세트 백크 당 통계 액세스 기능을 사용할 수 있습니다. 이것들입니다 표시테이블 27-14. 이러한 액세스 기능은 백엔드 ID 번호를 사용합니다 현재 활성 백엔드의 수에서 현재까지 다양합니다. 그만큼 기능pg_stat_get_backend_idset활성 각각의 활성마다 하나의 행을 생성하는 편리한 방법을 제공합니다. 이러한 기능을 호출하기위한 백엔드. 예를 들어,를 보여려면PIDs 및 모든의 현재 쿼리 백엔드 :

PG_STAT_GET_BACKEND_PID (S.BACKENDID)를 PID로 선택하십시오.
       쿼리로서 pg_stat_get_backend_activity (s.backendid)
    from (select pg_stat_get_backend_idset () as backendid)로 s;

표 27-14. 백 커드 당 통계 기능

function 반환 유형 설명
pg_stat_get_backend_idset () 정수 세트 현재 활성 백엔드 ID 번호 세트 (1에서 활성 백엔드 수)
pg_stat_get_backend_activity (정수) 텍스트 이 백엔드의 가장 최근 쿼리 텍스트
PG_STAT_GET_BACKEND_ACTIVITY_START (Integer) 시간대가있는 타임 스탬프 가장 최근의 쿼리가 시작된 시간
pg_stat_get_backend_client_addr (정수) inet 이 백엔드에 연결된 클라이언트의 IP 주소
pg_stat_get_backend_client_port (정수) Integer 클라이언트가 커뮤니케이션에 사용하는 TCP 포트 번호
pg_stat_get_backend_dbid (정수) OID 데이터베이스의 OID이 백엔드는에 연결되어 있습니다.
PG_STAT_GET_BACKEND_PID (Integer) Integer 이 백엔드의 프로세스 ID
PG_STAT_GET_BACKEND_START (Integer) 시간대가있는 타임 스탬프 이 과정이 시작된 시간
PG_STAT_GET_BACKEND_USERID (Integer) OID 이 백엔드에 로그인 한 사용자의 OID
pg_stat_get_backend_waiting (정수) 부울 이 백엔드가 현재 잠금을 기다리고 있다면
PG_STAT_GET_BACKEND_XACT_START (Integer) 시간대가있는 타임 스탬프 현재 거래가 시작된 시간