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

27.2. 롤 토토 수집가

PostgreSQL's롤 토토 수집가서버 활동에 대한 정보 수집 및보고를 지원하는 서브 시스템입니다. 현재, 컬렉터는 디스크 블록 및 개별 열 용어로 테이블 및 인덱스에 대한 액세스를 계산할 수 있습니다.

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

27.2.1. 통계 수집 구성

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

매개 변수track_activities모든 서버 프로세스에서 실행중인 현재 명령을 모니터링 할 수 있습니다.

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

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

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

일반적으로 이러한 매개 변수는에 설정됩니다.postgresql.conf모든 서버 프로세스에 적용되므로를 사용하여 개별 세션에서 켜거나 끄는 것이 가능합니다.PostgreSQL : 문서 : 9.4 : 토토 꽁 머니명령. (일반 사용자가 관리자로부터 활동을 숨기지 못하도록하기 위해 슈퍼 사용자만이 매개 변수를 변경할 수 있습니다.SET.)

롤 토토 수집가는 수집 된 정보를 다른 것으로 전송합니다PostgreSQL임시 파일을 통한 프로세스. 이 파일은에 의해 명명 된 디렉토리에 저장됩니다.stats_temp_directory매개 변수,PG_STAT_TMP기본적으로. 더 나은 성능을 위해,stats_temp_directoryRAM 기반 파일 시스템을 가리켜 물리적 I/O 요구 사항을 줄일 수 있습니다. 서버가 깨끗하게 종료되면 롤 토토 데이터의 영구 사본이에 저장됩니다.PG_STAT서버 재시작에 걸쳐 롤 토토를 유지할 수 있도록 하위 디렉토리. 서버 시작시 복구가 수행되면 (예 : 즉시 종료 된 후 서버 충돌 및 시점 복구) 모든 롤 토토 카운터가 재설정됩니다.

27.2.2. 수집 된 통계보기

몇 가지 사전 정의 된 뷰, 나열된표 27-1, 롤 토토 수집 결과를 보여줄 수 있습니다. 또는에 설명 된 바와 같이 기본 롤 토토 기능을 사용하여 사용자 정의보기를 구축 할 수 있습니다.섹션 27.2.3.

통계를 사용하여 현재 활동을 모니터링 할 때 정보가 즉시 업데이트되지 않음을 인식하는 것이 중요합니다. 각 개별 서버 프로세스는 유휴 상태가되기 직전에 새로운 통계 카운트를 수집기로 전송합니다.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_archiver WAL ARCHIVER 프로세스의 활동에 대한 롤 토토를 보여주는 하나의 행만으로. 보다pg_stat_archiver자세한 내용.
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_tables 동일pg_stat_all_tables- 사용자 테이블 만 표시되는 경우를 제외하고.
pg_stat_xact_all_tables 유사pg_stat_all_tables, 그러나 현재 거래 내에서 취한 조치를 계산합니다 (아님아직 포함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_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_SEVESSENCES 동일pg_statio_all_sequences, 시스템 시퀀스 만 표시된다는 점을 제외하고. (현재 시스템 시퀀스가 ​​정의되지 않으므로이 뷰는 항상 비어 있습니다.)
PG_STATIO_USER_SEATENCES 동일pg_statio_all_sequences- 사용자 시퀀스 만 표시되는 경우를 제외하고
PG_STAT_USER_FUNTIONS 각 추적 함수에 대해 하나의 행으로 해당 함수의 실행에 대한 롤 토토를 보여줍니다. 보다PG_STAT_USER_FUNTIONS자세한 내용.
PG_STAT_XACT_USER_FUNTIONS 유사PG_STAT_USER_FUNTIONS, 그러나 현재 트랜잭션 중에 호출 만 계산합니다 (아님아직 포함PG_STAT_USER_FUNTIONS).
pg_stat_replication WAL Sender Process 당 하나의 행으로 해당 발신자의 연결된 대기 서버에 대한 복제에 대한 롤 토토를 보여줍니다. 보다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 텍스트 리버스 DNS 조회에서보고 된대로 연결 클라이언트의 호스트 이름client_addr. 이 필드는 IP 연결에 대해서만 무감각하며log_hostname활성화되었습니다.
client_port Integer 클라이언트 가이 백엔드와의 통신을 위해 사용하는 TCP 포트 번호 또는-1UNIX 소켓을 사용하는 경우
backend_start 시간대가있는 타임 스탬프 이 프로세스가 시작된 시간, 즉 클라이언트가 서버에 연결된 경우
XACT_START 시간대가있는 타임 스탬프 이 프로세스가 시작된 시간 '현재 트랜잭션이 시작되었거나 거래가 활성화되지 않은 경우 NULL. 현재 쿼리가 트랜잭션의 첫 번째 인 경우이 열은와 같습니다.query_start열.
query_start 시간대가있는 타임 스탬프 현재 활성 쿼리가 시작된 시간 또는 ifStateActive, 마지막 쿼리가 시작되었을 때
State_change 시간대가있는 타임 스탬프 시간 시간State마지막으로 변경되었습니다
대기 부울 이 백엔드가 현재 잠금을 기다리고 있다면
State 텍스트 이 백엔드의 현재 전체 상태. 가능한 가치는 다음과 같습니다.
  • Active: 백엔드가 쿼리를 실행 중입니다.

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

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

  • 트랜잭션의 유휴 (중단):이 상태는와 유사합니다.트랜잭션의 유휴 상태- 거래의 진술 중 하나를 제외하고는 오류가 발생했습니다.

  • FastPath 함수 호출: 백엔드가 빠른 경로 함수를 실행하고 있습니다.

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

backend_xid xid 이 백엔드의 최상위 트랜잭션 식별자.
backend_xmin xid 현재 백엔드xminHorizon.
쿼리 텍스트 이 백엔드의 최신 쿼리의 텍스트. 만약에StateisActive이 필드는 현재 실행중인 쿼리를 보여줍니다. 다른 모든 주에서는 실행 된 마지막 쿼리를 보여줍니다.

thepg_stat_activityView는 서버 프로세스 당 한 행이 있으며 해당 프로세스의 현재 활동과 관련된 정보를 보여줍니다.

참고 :the대기andState열은 독립적입니다. 백엔드가에있는 경우Active상태, 그렇지 않을 수도 있고 아닐 수도 있습니다대기. 주가 인 경우Activeand대기사실, 쿼리가 실행되고 있지만 시스템 어딘가에 잠금으로 차단되고 있음을 의미합니다.

표 27-3.pg_stat_archiver보기

타입 설명
archived_count bigint 성공적으로 보관 된 WAL 파일 수
last_archived_wal 텍스트 마지막 WAL 파일의 이름이 성공적으로 보관되었습니다
last_archived_time 시간대가있는 타임 스탬프 마지막 성공 아카이브 작업 시간
실패 _count bigint WAL 파일 아카이브에 대한 실패 시도 수
last_failed_wal 텍스트 마지막 실패한 보관 작업의 WAL 파일 이름
last_failed_time 시간대가있는 타임 스탬프 마지막 실패한 보관 작업 시간
stats_reset 시간대가있는 타임 스탬프 이러한 롤 토토가 마지막으로 재설정 된 시간

thepg_stat_archiver보기는 항상 클러스터의 아카이버 프로세스에 대한 데이터를 포함하는 단일 행이 있습니다.

표 27-4.PG_STAT_BGWRITER보기

타입 설명
CheckPoints_MITED 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는 항상 클러스터에 대한 전역 데이터를 포함하는 단일 행이 있습니다.

표 27-5.PG_STAT_DATABASE보기

타입 설명
datid OID 데이터베이스의 OID
datname 이름 이 데이터베이스 이름
Numbackends Integer 현재이 데이터베이스에 연결된 백엔드 수. 이것은이보기에서 현재 상태를 반영하는 값을 반환하는 유일한 열입니다.
xact_commit bigint 이 데이터베이스의 트랜잭션 수
xact_rollback bigint 롤백 된이 데이터베이스의 트랜잭션 수
blks_read bigint 이 데이터베이스에서 읽는 디스크 블록 수
blks_hit bigint 버퍼 캐시에서 이미 발견 된 디스크 블록이 발견되었으므로 읽기가 필요하지 않도록했습니다 (여기서는 PostgreSQL 버퍼 캐시에 hits가 포함되어 있지 않습니다. 운영 체제의 파일 시스템 캐시)
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-6.pg_stat_all_tables보기

타입 설명
릴리드 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 예상 죽은 줄 수
n_mod_since_analyze 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_tables보기에는 현재 데이터베이스 (토스트 테이블 포함)의 각 테이블에 대해 한 행이 포함되어 해당 특정 테이블에 대한 액세스에 대한 통계가 표시됩니다. 그만큼pg_stat_user_tablesandPG_STAT_SYS_TABLE보기에는 동일한 정보가 포함되어 있지만 각각 사용자 및 시스템 테이블 만 표시하도록 필터링됩니다.

표 27-7.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보기에는 동일한 정보가 포함되어 있지만 각각 사용자 및 시스템 색인 만 표시하도록 필터링되었습니다.

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

참고 :theidx_tup_readandidx_tup_fetch비트 맵 스캔을 사용하지 않아도 카운트가 다를 수 있습니다.idx_tup_read인덱스에서 검색 한 인덱스 항목 카운트idx_tup_fetch테이블에서 가져온 라이브 행을 카운트합니다. 인덱스를 사용하여 죽었거나 커밋되지 않은 행을 가져 오거나 인덱스 전용 스캔을 통해 힙 페치를 피하는 경우 후자는 더 적습니다.

표 27-8.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 이 테이블의 토스트 테이블에서 읽은 디스크 블록 수 (있는 경우)
TOAST_BLKS_HIT bigint 이 테이블의 토스트 테이블에서 버퍼 히트 수 (있는 경우)
TIDX_BLKS_READ bigint 이 테이블의 토스트 테이블 인덱스에서 읽은 디스크 블록 수 (있는 경우)
TIDX_BLKS_HIT bigint 이 테이블의 토스트 테이블 인덱스 (있는 경우)

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

표 27-9.PG_STATIO_ALL_INDEXES보기

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

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

표 27-10.pg_statio_all_sequences보기

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

thepg_statio_all_sequences보기는 현재 데이터베이스의 각 시퀀스에 대해 하나의 행을 포함하여 해당 특정 시퀀스의 I/O에 대한 통계를 보여줍니다.

표 27-11.PG_STAT_USER_FUNTIONS보기

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

thePG_STAT_USER_FUNTIONS보기에는 각 추적 기능마다 하나의 행이 포함되어 해당 함수의 실행에 대한 통계를 보여줍니다. 그만큼track_functions매개 변수 제어 정확히 어떤 함수가 추적되는지

표 27-12.pg_stat_replication보기

타입 설명
PID Integer WAL 발신자 프로세스의 프로세스 ID
useysid OID 이 WAL 발신자 프로세스에 로그인 한 사용자의 OID
useName 이름 이 WAL 발신자 프로세스에 로그인 한 사용자 이름
application_name 텍스트 이 WAL Sender에 연결된 응용 프로그램 이름
client_addr inet 이 WAL 발신자에 연결된 클라이언트의 IP 주소. 이 필드가 NULL 인 경우 클라이언트가 서버 시스템의 UNIX 소켓을 통해 연결되어 있음을 나타냅니다.
client_hostname 텍스트 리버스 DNS 조회에서보고 된대로 연결 클라이언트의 호스트 이름client_addr. 이 필드는 IP 연결에 대해서만 무감각하며log_hostname활성화되었습니다.
client_port Integer 클라이언트 가이 WAL 발신자와의 커뮤니케이션을 위해 사용하는 TCP 포트 번호 또는-1UNIX 소켓을 사용하는 경우
backend_start 시간대가있는 타임 스탬프 이 프로세스가 시작된 시간, 즉 클라이언트 가이 WAL Sender에 연결된 경우
backend_xmin xid 이 대기xminHorizon에 의해보고hot_standby_feedback.
State 텍스트 현재 Wal Sender State
send_location PG_LSN 이 연결에서 전송 된 마지막 트랜잭션 로그 위치
쓰기 _location PG_LSN 이 대기 서버가 디스크에 기록한 마지막 트랜잭션 로그 위치
Flush_Location PG_LSN 이 대기 서버에 의해 디스크로 플러시 된 마지막 트랜잭션 로그 위치
Replay_Location PG_LSN 이 대기 서버의 데이터베이스로 재생되는 마지막 트랜잭션 로그 위치
sync_priority Integer 동기 대기로 선택된이 대기 서버의 우선 순위
sync_state 텍스트 이 대기 서버의 동기 상태

thepg_stat_replication보기에는 WAL Sender 프로세스 당 한 행이 포함되어 해당 발신자의 연결된 대기 서버에 대한 복제에 대한 통계가 표시됩니다. 직접 연결된 대기 만 나열됩니다.

표 27-13.PG_STAT_DATABASE_CONFLICTS보기

타입 설명
datid OID 데이터베이스의 OID
datname 이름 이 데이터베이스 이름
cl_tablespace bigint 삭제 된 테이블 스페이스로 인해 취소 된이 데이터베이스의 쿼리 수
cl_lock bigint 잠금 시간 초과로 인해 취소 된이 데이터베이스의 쿼리 수
cl_snapshot bigint 이전 스냅 샷으로 인해 취소 된이 데이터베이스의 쿼리 수
COL_BUFFERPIN bigint 고정 버퍼로 인해 취소 된이 데이터베이스의 쿼리 수
cl_deadlock bigint 교착 상태로 인해 취소 된이 데이터베이스의 쿼리 수

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

27.2.3. 통계 기능

통계를 살펴 보는 다른 방법은 위에 표시된 표준 뷰에서 사용하는 동일한 기본 통계 액세스 함수를 사용하는 쿼리를 작성하여 설정할 수 있습니다. 함수 이름과 같은 자세한 내용은 표준보기의 정의를 참조하십시오.PSQL당신은 발행 할 수 있습니다\ d+ pg_stat_activity.) 다타베이스 당 통계에 대한 액세스 함수는 데이터베이스 OID를 인수하여보고 할 데이터베이스를 식별합니다. 테이블 및 인덱스 별 기능은 테이블 또는 인덱스 OID를 취합니다.

롤 토토 수집과 관련된 추가 기능은에 나열되어 있습니다.표 27-14.

표 27-14. 추가 통계 기능

기능 반환 유형 설명
pg_backend_pid () Integer 서버 프로세스의 프로세스 ID 현재 세션 처리
pg_stat_get_activity(Integer) Setof Record 지정된 PID를 사용한 백엔드에 대한 정보 기록 또는 시스템의 각 활성 백엔드에 대한 1 개의 레코드를 반환합니다.NULL지정되어 있습니다. 반환 된 필드는에있는 필드의 하위 집합입니다.pg_stat_activityView.
PG_STAT_CLEAR_SNAPSHOT () void 현재 통계를 버립니다
PG_STAT_RESET () void 현재 데이터베이스의 모든 통계 카운터를 0으로 재설정합니다 (슈퍼 서서 권한 필요)
PG_STAT_RESET_SHARED(텍스트) void 인수에 따라 일부 클러스터 전체 통계 카운터를 0으로 재설정합니다 (슈퍼 서서 권한 필요). 부름PG_STAT_RESET_SHARD ( 'BGWRITER')PG_STAT_BGWRITER보기. 부름PG_STAT_RESET_SHARD ( 'Archiver')pg_stat_archiverView.
pg_stat_reset_single_table_counters(OID) void 현재 데이터베이스의 단일 테이블 또는 인덱스에 대한 통계 재설정 (슈퍼 사용자 권한 필요)
pg_stat_reset_single_function_counters(OID) void 현재 데이터베이스의 단일 함수에 대한 통계 재설정 (슈퍼 서서 권한 필요)

pg_stat_get_activity,의 기본 기능pg_stat_activity보기, 각 백엔드 프로세스에 대한 모든 정보가 포함 된 일련의 레코드를 반환합니다. 때로는이 정보의 하위 집합 만 얻는 것이 더 편리 할 수 ​​있습니다.표 27-15. 이러한 액세스 기능은 백엔드 ID 번호를 사용하며, 이는 현재 활성 백엔드의 수에서 현재까지 다양합니다.pg_stat_get_backend_idset이러한 함수를 호출하기 위해 각 활성 백엔드마다 하나의 행을 생성하는 편리한 방법을 제공합니다. 예를 들어,를 보여려면PIDs 및 모든 백엔드의 현재 쿼리 :

PG_STAT_GET_BACKEND_PID (S.BACKENDID)를 PID로 선택하십시오.

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

기능 반환 유형 설명
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 이 백엔드의 프로세스 ID
pg_stat_get_backend_start (정수) 시간대가있는 타임 스탬프 이 과정이 시작된 시간
PG_STAT_GET_BACKEND_USERID (Integer) OID 이 백엔드에 로그인 한 사용자의 OID
pg_stat_get_backend_waiting (정수) 부울 이 백엔드가 현재 잠금을 기다리고 있다면
PG_STAT_GET_BACKEND_XACT_START (Integer) 시간대가있는 타임 스탬프 현재 거래가 시작된 시간