28.2. 누적 통계 시스템#

PostgreSQL's누적 통계 시스템서버 활동에 대한 정보 수집 및보고를 지원합니다. 현재 디스크 블록 및 개별 열 항의 테이블 및 인덱스에 대한 액세스가 계산됩니다.

PostgreSQL또한 현재 다른 서버 프로세스에서 실행중인 정확한 명령 및 시스템에 다른 연결이 존재하는 것과 같이 현재 시스템에서 현재 진행중인 작업에 대한 동적 정보보고를 지원합니다. 이 시설은 누적 통계 시스템과 무관합니다.

28.2.1. 통계 수집 구성#

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

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

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

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

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

매개 변수track_wal_io_timingWAL WRITE 및 FSYNC TIMES의 모니터링 활성화.

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

누적 통계는 공유 메모리에서 수집됩니다. 모든PostgreSQL프로세스는 통계를 로컬로 수집 한 다음 적절한 간격으로 공유 데이터를 업데이트합니다. 물리적 복제본을 포함한 서버가 깨끗하게 종료되면 통계 데이터의 영구 사본이에 저장됩니다.PG_STAT서버 재시작에 걸쳐 통계를 유지할 수 있도록 하위 디렉토리. 대조적으로, 부정한 종료에서 시작할 때 (예 : 즉시 종료 후, 서버 충돌, 기본 백업 및 시점 복구)에서 모든 통계 카운터가 재설정됩니다..

28.2.2. 통계보기#

몇 가지 사전 정의 된 뷰, 나열된표 28.1, 시스템의 현재 상태를 보여줄 수 있습니다. 에 나열된 몇 가지 다른 견해도 있습니다.표 28.2, 누적 통계를 보여줄 수 젠 토토. 대안으로, 기본 누적 통계 기능을 사용하여 사용자 정의 뷰를 구축 할 수 젠 토토.섹션 28.2.25.

수집 된 데이터를 모니터링하기 위해 누적 통계보기 및 기능을 사용하면 정보가 즉시 업데이트되지 않는다는 것을 인식하는 것이 중요합니다. 각 개별 서버 프로세스는 유휴 상태가되기 직전에 공유 메모리에 누적 된 통계를 플러시하지만pgstat_min_interval밀리 초 (서버를 구축하는 동안 변경되지 않는 한 1 초); 따라서 여전히 진행중인 쿼리 또는 트랜잭션은 표시된 총계와 표시된 정보가 실제 활동 뒤에 영향을 미치지 않습니다.track_activities항상 최신입니다.

또 다른 중요한 점은 서버 프로세스에 누적 된 통계를 표시하도록 요청되면 기본 구성에서 현재 트랜잭션이 끝날 때까지 액세스 된 값이 캐시된다는 것입니다. 따라서 통계는 현재 트랜잭션을 계속하는 한 정적 정보를 표시합니다.stats_fetch_consistencySnapshot, 필요하지 않은 통계 데이터를 캐싱 할 수있는 메모리 사용량의 가격으로. 반대로, 통계에 한 번만 액세스하는 것으로 알려진 경우, 캐싱 액세스 통계는 불필요하며 설정을 통해 피할 수 젠 토토stats_fetch_consistencyto없음. 당신은 호출 할 수 젠 토토PG_STAT_CLEAR_SNAPSHOT() 현재 트랜잭션의 통계 스냅 샷 또는 캐시 된 값 (있는 경우)을 폐기합니다. 다음으로 통계 정보를 사용하면 (스냅 샷 모드에서) 새 스냅 샷이 구축되거나 (캐시 모드에서) 캐시 할 통계에 액세스 할 수 있습니다.

트랜잭션은 뷰에서 자체 통계 (공유 메모리 통계로 아직 플러시되지 않음)를 볼 수 젠 토토pg_stat_xact_all_tables, PG_STAT_XACT_SYS_TABLES, PG_STAT_XACT_USER_TABLESPG_STAT_XACT_USER_FUNTIONS. 이 숫자는 위에서 언급 한대로 작동하지 않습니다.

동적 통계보기의 일부 정보는표 28.1보안이 제한되어 젠 토토. 일반 사용자는 자신의 세션에 대한 모든 정보 만 볼 수 젠 토토 (회원의 역할에 속하는 세션).PG_READ_ALL_STATS(참조섹션 22.5) 모든 세션에 대한 모든 정보를 볼 수 젠 토토.

표 28.1. 동적 통계보기

보기 설명
pg_stat_activity 서버 당 하나의 행, 해당 프로세스의 현재 활동과 관련된 정보 (예 : 상태 및 현재 쿼리). 보다pg_stat_activity자세한 내용.
pg_stat_replication WAL Sender Process 당 하나의 행으로 해당 발신자의 연결된 대기 서버에 대한 복제에 대한 통계를 보여줍니다. 보다pg_stat_replication자세한 내용.
PG_STAT_WAL_RECEIVER 해당 수신기의 연결된 서버에서 WAL 수신기에 대한 통계를 표시하는 한 행만 | 보다PG_STAT_WAL_RECEIVER자세한 내용.
pg_stat_recovery_prefetch 복구 중에 프리 페치 된 블록에 대한 통계를 보여주는 단 하나의 행만 | 보다pg_stat_recovery_prefetch자세한 내용.
pg_stat_subscription 가입 직원에 대한 정보를 보여주는 가입 당 최소 한 줄. 보다pg_stat_subscription자세한 내용.
PG_STAT_SSL 연결 당 하나의 행 (일반 및 복제).이 연결에 사용 된 SSL에 대한 정보를 보여줍니다. 보다PG_STAT_SSL자세한 내용.
PG_STAT_GSSAPI 연결 당 하나의 행 (일반 및 복제).이 연결에 사용 된 GSSAPI 인증 및 암호화에 대한 정보를 보여줍니다. 보다PG_STAT_GSSAPI자세한 내용.
PG_STAT_PROGRESS_ANALYZE 각 백엔드마다 1 개의 행 (Autovacuum Worker 프로세스 포함)분석, 현재 진행 상황을 보여줍니다. 보다섹션 28.4.1.
PG_STAT_PROGRESS_CREATE_INDEX 각 백엔드 실행마다 1 개의 행색인 생성또는Reindex, 현재 진행 상황을 보여줍니다. 보다섹션 28.4.4.
PG_STAT_PROGRESS_VACUUM 각 백엔드마다 1 개의 행 (Autovacuum Worker 프로세스 포함)진공, 현재 진행 상황을 보여줍니다. 보다섹션 28.4.5.
PG_STAT_PROGRESS_CLUST 각 백엔드 실행마다 1 개의 행클러스터또는진공 Full, 현재 진행 상황을 보여줍니다. 보다섹션 28.4.2.
PG_STAT_PROGRESS_BASEBACKUP 각 WAL Sender 프로세스마다 1 개의 행이 기본 백업을 스트리밍하여 현재 진행 상황을 보여줍니다. 보다섹션 28.4.6.
PG_STAT_PROGRESS_COPY 각 백엔드 실행마다 1 개의 행COPY, 현재 진행 상황을 보여줍니다. 보다섹션 28.4.3.

표 28.2. 수집 된 통계보기

보기 설명
pg_stat_archiver WAL ARCHIVER 프로세스의 활동에 대한 통계를 보여주는 하나의 행만. 보다pg_stat_archiver자세한 내용.
PG_STAT_BGWRITER 한 행만 배경 작가 프로세스의 활동에 대한 통계를 보여줍니다. 보다PG_STAT_BGWRITER자세한 내용.
PG_STAT_DATABASE 데이터베이스 전체 통계를 표시하는 데이터베이스 당 1 행. 보다PG_STAT_DATABASE자세한 내용.
PG_STAT_DATABASE_CONFLICTS 데이터베이스 당 하나의 행으로 대기 서버의 복구와 충돌하여 쿼리에 대한 데이터베이스 전체 통계를 표시합니다. 보다PG_STAT_DATABASE_CONFLICTS자세한 내용.
PG_STAT_IO 클러스터 전체 I/O 통계를 포함하는 백엔드 유형, 컨텍스트 및 대상 객체의 각 조합에 대한 하나의 행. 보다PG_STAT_IO자세한 내용.
PG_STAT_REPLICATION_SLOTS 복제 슬롯 당 하나의 행으로 복제 슬롯의 사용에 대한 통계를 보여줍니다. 보다PG_STAT_REPLICATION_SLOTS자세한 내용.
PG_STAT_SLRU SLRU 당 1 행, 운영 통계를 보여줍니다. 보다PG_STAT_SLRU자세한 내용.
pg_stat_subscription_stats 구독 당 하나의 행으로 오류에 대한 통계를 보여줍니다. 보다pg_stat_subscription_stats자세한 내용.
PG_STAT_WAL WAL 활동에 대한 통계를 보여주는 한 행만. 보다PG_STAT_WAL자세한 내용.
pg_stat_all_tables 현재 데이터베이스의 각 테이블마다 하나의 행으로 해당 특정 테이블에 대한 액세스에 대한 통계가 표시됩니다. 보다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_TABLES 동일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_STAT_USER_FUNTIONS 각 추적 함수마다 하나의 행으로 해당 함수의 실행에 대한 통계를 보여줍니다. 보다PG_STAT_USER_FUNTIONS자세한 내용.
PG_STAT_XACT_USER_FUNTIONS 유사PG_STAT_USER_FUNTIONS, 그러나 현재 거래 중에만 호출을 계산합니다 (아님아직 포함PG_STAT_USER_FUNTIONS).
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 현재 데이터베이스의 각 인덱스마다 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_SEATENCES- 사용자 시퀀스 만 표시되는 경우를 제외하고

인덱스 통계는 어떤 인덱스가 사용되는지, 얼마나 효과적인지를 결정하는 데 특히 유용합니다.

thePG_STAT_IOPG_STATIO_뷰 세트는 버퍼 캐시의 효과를 결정하는 데 유용합니다. 캐시 적중률을 계산하는 데 사용할 수 젠 토토.PostgreSQL'I/O 통계 캡처 I/O를 수행하기 위해 커널이 호출 된 대부분의 인스턴스를 캡처하면 디스크에서 가져와야 할 데이터와 커널 페이지 캐시에 이미 상주 한 데이터를 구별하지 않습니다. 사용자는 사용하는 것이 좋습니다.PostgreSQL데이터베이스의 I/O 성능에 대한보다 완전한 그림을 위해 운영 체제 유틸리티와 함께 ​​통계보기

28.2.3. pg_stat_activity #

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

표 28.3. pg_stat_activity보기

열 유형

설명

datid OID

데이터베이스의 OID이 백엔드는에 연결되어 있습니다.

datname 이름

데이터베이스 이름이 백엔드는에 연결되어 있습니다.

PID 정수

이 백엔드의 프로세스 ID

leader_pid 정수

병렬 그룹 리더의 프로세스 ID이 프로세스이 병렬 쿼리 작업자이거나 리더의 프로세스 ID가 병렬 적용 작업자 인 경우 리더의 프로세스 ID를 적용합니다.NULL이 프로세스는 병렬 그룹 리더 또는 리더 신청 작업자이거나 병렬 작업에 참여하지 않음을 나타냅니다.

useysid OID

이 백엔드에 로그인 한 사용자의 OID

usename 이름

이 백엔드에 로그인 한 사용자 이름

Application_Name 텍스트

이 백엔드에 연결된 응용 프로그램 이름

client_addr inet

이 백엔드에 연결된 클라이언트의 IP 주소. 이 필드가 NULL 인 경우 클라이언트가 서버 시스템의 UNIX 소켓을 통해 연결되어 있거나 AutoVacuum과 같은 내부 프로세스임을 나타냅니다.

client_hostname 텍스트

리버스 DNS 조회에서보고 된대로 연결 클라이언트의 호스트 이름client_addr. 이 필드는 IP 연결에 대해서만 무감각하며log_hostname활성화되었습니다.

client_port 정수

클라이언트 가이 백엔드와의 커뮤니케이션을 위해 사용하는 TCP 포트 번호 또는-1UNIX 소켓을 사용하는 경우. 이 필드가 NULL 인 경우 이것이 내부 서버 프로세스임을 나타냅니다.

backend_start 시간대가있는 타임 스탬프

이 프로세스가 시작된 시간. 클라이언트 백엔드의 경우 클라이언트가 서버에 연결된 시간입니다.

XACT_START 시간대가있는 타임 스탬프

이 프로세스가 시작된 시간 '현재 트랜잭션이 시작되었거나 트랜잭션이 활성화되지 않은 경우 NULL. 현재 쿼리가 트랜잭션의 첫 번째 인 경우이 열은와 같습니다.query_start열.

query_start 시간대가있는 타임 스탬프

현재 활성 쿼리가 시작된 시간 또는 ifStateActive, 마지막 쿼리가 시작되었을 때

State_change 시간대가있는 타임 스탬프

시간 시간State마지막으로 변경되었습니다

Wait_event_Type 텍스트

백엔드가 기다리는 이벤트 유형; 그렇지 않으면 null.표 28.4.

Wait_event 텍스트

백엔드가 현재 대기중인 경우 이벤트 이름을 기다립니다. 보다표 28.5through표 28.13.

State 텍스트

이 백엔드의 현재 전체 상태. 가능한 가치는 다음과 같습니다.

  • Active: 백엔드가 쿼리를 실행 중입니다.

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

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

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

  • FastPath 함수 호출: 백엔드가 빠른 경로 함수를 실행하고 젠 토토.

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

backend_xid xid

이 백엔드의 최상위 트랜잭션 식별자; 보다섹션 74.1.

backend_xmin xid

현재 백엔드xminHorizon.

query_id bigint

이 백엔드의 최신 쿼리의 식별자. 만약에StateisActive이 필드는 현재 실행중인 쿼리의 식별자를 보여줍니다. 다른 모든 주에서는 실행 된 마지막 쿼리의 식별자를 보여줍니다.compute_query_id매개 변수가 활성화되어 있거나 쿼리 식별자를 계산하는 타사 모듈이 구성됩니다.

쿼리 텍스트

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

backend_type 텍스트

현재 백엔드 유형. 가능한 유형은Autovacuum 런처, Autovacuum Worker, 논리 복제 런처, 논리 복제 작업자, 병렬 작업자, 배경 작가, 클라이언트 백엔드, CheckPointer, Archiver, 독립형 백엔드, 스타트 업, Walreceiver, WalsenderWalwriter. 또한 확장에 의해 등록 된 배경 작업자는 추가 유형이있을 수 젠 토토.


Note

theWait_eventState열은 독립적입니다. 백엔드가에있는 경우Active상태, 그렇지 않을 수도 있고 아닐 수도 젠 토토대기일부 이벤트에서. 주가 인 경우ActiveWait_event는 널이없고 쿼리가 실행되고 있지만 시스템 어딘가에 차단되고 있음을 의미합니다.

표 28.4. 이벤트 유형 대기

이벤트 유형 대기 설명
활동 서버 프로세스는 유휴 상태입니다. 이 이벤트 유형은 기본 처리 루프에서 활동을 기다리는 프로세스를 나타냅니다.Wait_event특정 대기 지점을 식별합니다. 보다표 28.5.
bufferpin 서버 프로세스는 데이터 버퍼에 대한 독점 액세스를 기다리고 있습니다. 다른 프로세스에 해당 버퍼에서 마지막으로 읽은 데이터를 보유한 개방형 커서를 보유하면 버퍼 핀 대기를 장기화 할 수 있습니다.표 28.6.
클라이언트 서버 프로세스는 사용자 애플리케이션에 연결된 소켓의 활동을 기다리고 있습니다. 따라서 서버는 내부 프로세스와 무관 한 일이 발생할 것으로 예상합니다.Wait_event특정 대기 지점을 식별합니다. 보다표 28.7.
Extension 서버 프로세스는 확장 모듈로 정의 된 일부 조건을 기다리고 젠 토토. 보다표 28.8.
io 서버 프로세스가 I/O 작동이 완료되기를 기다리고 젠 토토.Wait_event특정 대기 지점을 식별합니다. 보다표 28.9.
IPC 서버 프로세스가 다른 서버 프로세스와 약간의 상호 작용을 기다리고 젠 토토.Wait_event특정 대기 지점을 식별합니다. 보다표 28.10.
잠금 서버 프로세스가 헤비급 잠금을 기다리고 있습니다. 잠금 관리자 잠금 또는 단순히 잠금으로도 알려진 헤비급 잠금 장치는 주로 테이블과 같은 SQL 가시 가능한 객체를 보호합니다.Wait_event기다리고있는 잠금의 유형을 식별합니다. 보다표 28.11.
lwlock 서버 프로세스가 경량 잠금을 기다리고 있습니다. 대부분의 이러한 잠금은 공유 메모리에서 특정 데이터 구조를 보호합니다.Wait_event는 경량 잠금의 목적을 식별하는 이름을 포함합니다. (일부 자물쇠에는 특정 이름이 있고 다른 자물쇠는 비슷한 목적을 가진 각각 자물쇠 그룹의 일부입니다.) 참조표 28.12.
타임 아웃 서버 프로세스가 시간 초과가 만료되기를 기다리고 젠 토토.Wait_event특정 대기 지점을 식별합니다. 보다표 28.13.

표 28.5. 유형의 이벤트 대기활동

활동대기 이벤트 설명
Archivermain 아카이버 프로세스의 주요 루프에서 기다리고 젠 토토.
autovacuummain Autovacuum 런처 프로세스의 주요 루프에서 대기 중.
bgwriterhibernate 배경 작가 프로세스에서 대기중인 최대 절전 모드.
bgwritermain 배경 작가 프로세스의 주요 루프에서 기다리고 있습니다.
CheckPointermain 체크 포인터 프로세스의 주요 루프에서 대기 중.
logicalApplymain 논리적 복제의 기본 루프에서 대기중인 프로세스.
logicallaunchermain 논리적 복제 런처 프로세스의 기본 루프에서 대기 중.
LogicalParallelApplyMain 논리적 복제의 기본 루프에서 대기중인 병렬 적용 프로세스.
RecoveryWalStream 스트리밍 복구 중에 WAL이 도착하기위한 시작 프로세스의 주요 루프에서 기다리고 젠 토토.
Sysloggermain Syslogger 프로세스의 메인 루프에서 기다리고 젠 토토.
Walreceivermain WAL 수신기 프로세스의 기본 루프에서 기다리고 젠 토토.
Walsendermain WAL 발신자 프로세스의 주요 루프에서 기다리고 젠 토토.
Walwritermain WAL 작가 프로세스의 주요 루프에서 기다리고 젠 토토.

표 28.6. 유형의 이벤트 대기bufferpin

bufferpin대기 이벤트 설명
bufferpin 버퍼에서 독점 핀을 얻기 위해 기다리고 젠 토토.

표 28.7. 유형의 이벤트 대기클라이언트

클라이언트대기 이벤트 설명
ClientRead 클라이언트의 데이터를 읽기 위해 기다리고 있습니다.
ClientWrite 클라이언트에 데이터를 작성하기를 기다리고 있습니다.
gssopenserver GSSAPI 세션을 설정하는 동안 클라이언트의 데이터를 읽기를 기다리고 있습니다.
libpqwalreceiverconnect 원격 서버에 대한 연결을 설정하기 위해 WAL 수신기에서 기다리고 젠 토토.
libpqwalreceiverreceive 원격 서버에서 데이터를 수신하기 위해 WAL 수신기에서 기다리고 젠 토토.
sslopenserver 연결을 시도하는 동안 SSL을 기다리고 젠 토토.
WalsenderWaitforwal WAL 발신자 프로세스에서 WAL이 플러시되기를 기다리고 젠 토토.
WalsenderWritedata WAL Sender 프로세스에서 WAL 수신기에서 답장을 처리 할 때 활동을 기다리고 있습니다.

표 28.8. 유형의 이벤트 대기Extension

Extension대기 이벤트 설명
Extension 확장 대기 중.

표 28.9. 유형의 이벤트 대기io

io대기 이벤트 설명
Basebackupread 파일에서 기본 백업이 읽을 때까지 기다리고 젠 토토.
Basebackupsync 내구성있는 스토리지에 도달하기 위해베이스 백업이 작성한 데이터를 기다리고 젠 토토.
BasebackUpwrite 기본 백업이 파일에 쓸 때까지 기다리고 젠 토토.
BuffileRead 버퍼링 된 파일에서 읽기를 기다리고 젠 토토.
Buffiletruncate 버퍼링 된 파일이 잘릴 때까지 기다리고 젠 토토.
BuffileWrite 버퍼링 된 파일에 쓰기를 기다리고 젠 토토.
ControlFileRead 읽기를 기다리는 중PG_CONTROL파일.
ControlFilesync 기다리는PG_CONTROL내구성있는 스토리지에 도달 할 파일.
ControlFilesyncupdate 업데이트 대기PG_CONTROL내구성있는 스토리지에 도달 할 파일.
ControlFileWrite 쓰기를 기다리는PG_CONTROL파일.
ControlFileWriteUpdate write가 업데이트 될 때까지 기다리고 젠 토토PG_CONTROL파일.
CopyFileRead 파일 복사 작업 중에 읽기를 기다리고 젠 토토.
CopyFileWrite 파일 복사 작업 중에 쓰기를 기다리고 젠 토토.
dsmallocate 동적 공유 메모리 세그먼트가 할당되기를 기다리고 젠 토토.
dsmfillzerowrite Zeroes로 동적 공유 메모리 백업 파일을 채우기를 기다리고 젠 토토.
datafileextend 관계 데이터 파일이 확장되기를 기다리고 젠 토토.
datafileflush 관계 데이터 파일이 내구성있는 저장소에 도달하기를 기다리는 대기.
datafileimmediatesync 내구성 스토리지와 관계 데이터 파일의 즉각적인 동기화를 기다리고 젠 토토.
DataFilePrefetch 관계 데이터 파일에서 비동기 프리 페치를 기다리고 젠 토토.
datafileRead 관계 데이터 파일에서 읽기를 기다리고 젠 토토.
datafilesync 내구성있는 저장소에 도달하기 위해 관계 데이터 파일의 변경을 기다리고 젠 토토.
DataFiletruncate 관계 데이터 파일이 잘릴 때까지 기다리고 젠 토토.
DataFileWrite 관계 데이터 파일에 쓰기를 기다리고 젠 토토.
LockFileaddTodatAdirread 데이터 디렉토리 잠금 파일에 줄을 추가하는 동안 읽기를 기다리고 있습니다.
LockFileaddTodatadirsync 데이터 디렉토리 잠금 파일에 줄을 추가하는 동안 데이터가 내구성있는 스토리지에 도달하기를 기다리는 중입니다.
LockFileaddTodatAdirwrite 데이터 디렉토리 잠금 파일에 줄을 추가하는 동안 쓰기를 기다리고 있습니다.
LockFileCreateread 데이터 디렉토리 잠금 파일을 작성하는 동안 읽기를 기다리고 있습니다.
LockFileCreatesYnc 데이터 디렉토리 잠금 파일을 작성하는 동안 데이터가 내구성있는 스토리지에 도달하기를 기다리는 중입니다.
LockFileCreateWrite 데이터 디렉토리 잠금 파일을 작성하는 동안 쓰기를 기다리고 있습니다.
LockFilerEcheckDatadirread 데이터 디렉토리 잠금 파일을 다시 확인하는 동안 읽기를 기다리고 있습니다.
LogicalLewRiteCheckPointSync 체크 포인트 중에 논리적 인 재 작성 매핑이 내구성있는 저장소에 도달하기 위해 기다리고 젠 토토.
LogicalLewritemAppingSync 논리적 인 재 작성 중에 내구성있는 저장소에 도달하기위한 매핑 데이터를 기다리고 젠 토토.
LogicalLewRitemAppingWrite 논리적 인 재 작성 중에 매핑 데이터의 쓰기를 기다리고 젠 토토.
logicalewritesync 논리적 인 재 작성 매핑이 내구성있는 저장소에 도달하기 위해 기다리고 젠 토토.
LogicalLewriteTruncate 논리적 인 재 작성 중에 맵핑 데이터의 자르기를 기다리고 젠 토토.
LogicalLewriteWrite 논리적 재 작성 매핑의 글을 기다리고 젠 토토.
RelectionMapRead 관계지도 파일을 읽기를 기다리고 젠 토토.
RelectionMaprePlace 관계 맵 파일의 내구성 교체 대기 대기.
RelectionMapWrite 관계 맵 파일에 쓰기를 기다리고 젠 토토.
ReorderBuffErread 재정의 버퍼 관리 중 읽기를 기다리는 중.
ReorderBufferWrite 재정의 버퍼 관리 중 쓰기를 기다리는 중.
ReArderLogicalMappingRead 재주문 버퍼 관리 중 논리적 매핑을 읽기를 기다리고 젠 토토.
ReplicationSlotread 복제 슬롯 제어 파일에서 읽기를 기다리고 젠 토토.
ReplicationSlotrestoresync 메모리로 복원하는 동안 내구성있는 저장소에 도달하기 위해 복제 슬롯 제어 파일을 기다리고 젠 토토.
ReplicationSlotsync 반복 슬롯 제어 파일이 내구성있는 스토리지에 도달하기 위해 기다리고 젠 토토.
ReplicationSlotWrite 복제 슬롯 제어 파일에 쓰기를 기다리고 젠 토토.
Slruflushsync 체크 포인트 또는 데이터베이스 종료 중에 SLRU 데이터가 내구성있는 스토리지에 도달하기를 기다리는 대기.
Slruread SLRU 페이지를 읽기를 기다리고 젠 토토.
slrusync 페이지 쓰기 후 SLRU 데이터가 내구성있는 저장소에 도달하기 위해 기다리고 젠 토토.
SLRUWRITE SLRU 페이지의 글을 기다리고 젠 토토.
SnapBuildRead 직렬화 된 역사 카탈로그 스냅 샷을 읽기를 기다리고 젠 토토.
SnapBuildSync 직렬화 된 역사적 카탈로그 스냅 샷이 내구성있는 저장소에 도달하기를 기다리고 젠 토토.
SnapBuildWrite 직렬화 된 역사적 카탈로그 스냅 샷의 글을 기다리고 젠 토토.
TimelineHistoryFilesync 내구성있는 저장소에 도달하기 위해 스트리밍 복제를 통해 수신 된 타임 라인 기록 파일을 기다리고 젠 토토.
TimelineHistoryFileWrite 스트리밍 복제를 통해 수신 된 타임 라인 기록 파일의 쓰기를 기다리고 젠 토토.
TimelineHistoryRead 타임 라인 기록 파일을 읽기를 기다리고 젠 토토.
TimelineHistorySync 새로 생성 된 타임 라인 기록 파일이 내구성있는 스토리지에 도달하기 위해 기다리고 젠 토토.
TimelineHistoryWrite 새로 만든 타임 라인 기록 파일의 글을 기다리고 젠 토토.
TwoPhaseFileread 2 단계 상태 파일을 읽기를 기다리고 젠 토토.
TwoPhaseFilesync 2 단계 상태 파일이 내구성있는 스토리지에 도달하기를 기다리는 중.
TwoPhaseFileWrite 2 단계 상태 파일의 쓰기를 기다리고 젠 토토.
versionfilesync 데이터베이스를 작성하는 동안 내구성있는 스토리지에 도달하기 위해 버전 파일이 대기합니다.
versionFileWrite 데이터베이스를 작성하는 동안 버전 파일이 작성 될 때까지 기다리고 젠 토토.
WalbootStrapSync 부트 스트래핑 중에 WAL이 내구성있는 저장소에 도달하기를 기다리고 젠 토토.
WalbootStrapWrite 부트 스트래핑 중에 WAL 페이지의 쓰기를 기다리고 젠 토토.
WalcopyRead 기존 WAL 세그먼트를 복사하여 새 WAL 세그먼트를 만들 때 읽기를 기다리고 젠 토토.
WalcopySync 내구성있는 저장소에 도달하기 위해 기존 제품을 복사하여 생성 된 새로운 WAL 세그먼트를 기다리고 젠 토토.
WalcopyWrite 기존 WAL 세그먼트를 복사하여 새 WAL 세그먼트를 만들 때 쓰기를 기다리고 젠 토토.
Walinitsync 새로 초기화 된 WAL 파일이 내구성있는 저장소에 도달하기를 기다리는 중.
WalinitWrite 새 월 파일을 초기화하는 동안 쓰기를 기다리고 젠 토토.
Walread WAL 파일에서 읽기를 기다리고 젠 토토.
WalsenderTimelineHistoryRead Walsender 타임 라인 명령 중에 타임 라인 기록 파일에서 읽기를 기다리는 중.
walsync WAL 파일이 내구성있는 저장소에 도달하기를 기다리는 중입니다.
walsyncmethodassign 새로운 WAL SYNC 메소드를 할당하는 동안 내구성있는 스토리지에 도달하기를 기다리는 대기.
Walwrite WAL 파일에 쓰기를 기다리고 젠 토토.

표 28.10. 유형의 이벤트 대기IPC

IPC대기 이벤트 설명
부록 AN의 하위 플랜 노드를 기다리고 젠 토토Append준비 할 노드 계획.
ArchiveCleanUpCommand 대기archive_cleanup_command완료합니다.
ArchiveCommand 대기archive_command완료합니다.
백엔드 종료 다른 백엔드 종료를 기다리고 있습니다.
Backupwaitwalarchive 백업이 성공적으로 보관되기 위해 필요한 책치 파일을 기다리고 젠 토토.
bgworkershutdown 배경 작업자가 종료되기를 기다리고 젠 토토.
bgworkerstartup 배경 작업자가 시작되기를 기다리고 젠 토토.
btreepage PARSIL B-TREE 스캔을 계속하기 위해 필요한 페이지 번호를 기다리는 중입니다.
Bufferio 버퍼 I/O가 완료되기를 기다리고 젠 토토.
CheckpointDone 체크 포인트가 완료되기를 기다리고 젠 토토.
CheckpointStart 검문소가 시작될 때까지 기다리고 젠 토토.
executegather a 아동 과정에서 활동을 기다리고 있습니다수집계획 노드.
Hashbatchallother 선출 된 병렬 해시 참가자가 해시 테이블을 할당하기 위해 기다리고 젠 토토.
HashbatchElect 해시 테이블을 할당하기 위해 병렬 해시 참가자를 선출하기 위해 기다리고 젠 토토.
해시 배치로드 다른 병렬 해시 참가자가 해시 테이블로드를 마치기를 기다립니다.
HashbuildAllogey 선출 된 병렬 해시 참가자가 초기 해시 테이블을 할당하기 위해 기다리고 젠 토토.
HashBuildEct 초기 해시 테이블을 할당하기 위해 병렬 해시 참가자를 선출하기 위해 기다리고 젠 토토.
Hashbuildhashinner 다른 병렬 해시 참가자가 내부 관계 해싱을 완료하기를 기다리고 젠 토토.
Hashbuildhashouter 다른 병렬 해시 참가자가 외부 관계를 마무리하기를 기다리고 젠 토토.
HashgrowbatchesDecide 미래의 배치 성장을 결정하기 위해 병렬 해시 참가자를 선출하기 위해 기다리고 젠 토토.
Hashgrowbatcheselect 더 많은 배치를 할당하기 위해 병렬 해시 참가자를 선출하기 위해 기다리고 젠 토토.
Hashgrowbatchesfinish 선출 된 병렬 해시 참가자가 미래의 배치 성장을 결정하기 위해 기다리고 젠 토토.
HashgrowbatchesReallocate 선출 된 병렬 해시 참가자가 더 많은 배치를 할당하기 위해 기다리고 젠 토토.
HashgrowbatchesRepartition 다른 병렬 해시 참가자가 다시 파티션을 마치기를 기다리고 젠 토토.
HashgrowbucketSelect 더 많은 양동이를 할당하기 위해 병렬 해시 참가자를 선출하기 위해 기다리고 젠 토토.
Hashgrowbucketsreallocate 선출 된 병렬 해시 참가자가 더 많은 양동이를 할당하기 위해 기다리고 젠 토토.
Hashgrowbucketsreinsert 다른 병렬 해시 참가자가 새로운 버킷에 튜플 삽입을 마치기를 기다립니다.
logicalApplySendData 논리적 복제 리더를 기다리는 대기 프로세스는 병렬 적용 프로세스로 데이터를 보내기 위해 프로세스를 적용합니다.
LogicalParallelApplyStateChange 논리적 복제 대기 중이며 병렬 변경 상태에 적용되는 프로세스.
LogicalSyncData 논리적 복제 원격 서버가 초기 테이블 동기화를위한 데이터를 보내기 위해 기다리고 젠 토토.
LogicalSyncStateChange 논리적 복제 원격 서버가 상태를 변경하기 위해 기다리고 젠 토토.
MessagequeueInternal 공유 메시지 대기열에 다른 프로세스가 첨부되기를 기다리고 있습니다.
MessageQueUePutMessage 공유 메시지 대기열에 프로토콜 메시지를 작성하기를 기다리고 있습니다.
MessageQueUereCeive 공유 메시지 대기열에서 바이트를 받기 위해 기다리고 있습니다.
MessagequeUesend 공유 메시지 대기열에 바이트를 보내기를 기다리고 있습니다.
ParallelBitMapscan 병렬 비트 맵 스캔이 초기화되기를 기다리고 젠 토토.
ParallelCreateIndexScan 병렬 대기색인 생성힙 스캔을 마치는 작업자.
allelfinish 병렬 작업자가 컴퓨팅을 마치기를 기다리고 있습니다.
ProcarRayGroupUpdate 그룹 리더가 트랜잭션 종료에서 트랜잭션 ID를 지우기를 기다리고 젠 토토.
ProcsignalBarrier 모든 백엔드가 처리 할 장벽 이벤트를 기다리고 젠 토토.
홍보 대기 프로모션을 기다리고 있습니다.
RecoveryConflictsnapShot 진공 청소를위한 회복 충돌 해결 대기.
RecoveryConflictTablespace 테이블 스페이스를 삭제하기위한 복구 충돌 해결 대기.
RecoveryEndCommand 대기복구 _end_command완료합니다.
RecoveyPause 회복이 재개되기를 기다리고 젠 토토.
ReplicationOrigIndrop 복제 원점이 비활성화되기를 기다리므로 삭제할 수 젠 토토.
ReplicationSLOTDROP 복제 슬롯이 비활성화되어 떨어질 수 있도록 기다리고 젠 토토.
Restorecommand 대기Restore_command완료합니다.
SafesnapShot A에 대한 유효한 스냅 샷을 얻기 위해 기다리고 젠 토토전만 읽기거래.
syncrep 동기식 복제 중에 원격 서버에서 확인 대기 중.
Walreceiverexit WAL 수신기가 종료되기를 기다리고 젠 토토.
Walreceiverwaitstart 스트리밍 복제를 위해 초기 데이터를 보내는 시작 프로세스 대기 대기.
xactgroupupdate 그룹 리더가 트랜잭션 종료에서 트랜잭션 상태를 업데이트 할 때까지 기다리고 젠 토토.

표 28.11. 유형의 이벤트 대기잠금

잠금대기 이벤트 설명
자문 자문 사용자 잠금을 취득하기 위해 기다리고 있습니다.
ApplyTransaction 논리적 복제 가입자에 의해 적용되는 원격 트랜잭션에 대한 잠금을 획득하기를 기다리고 있습니다.
Extend 관계 확장을 기다리고 젠 토토.
Frozenid 업데이트 대기pg_database.datfrozenxidpg_database.datminmxid.
개체 비 릴레이션 데이터베이스 개체에서 잠금을 획득하기 위해 기다리고 있습니다.
페이지 관계 페이지에서 잠금을 얻기 위해 기다리고 있습니다.
관계 관계에 대한 잠금을 취득하기를 기다리고 있습니다.
Spectoken 투기 삽입 잠금을 획득하기 위해 기다리고 있습니다.
TransactionId 거래가 완료되기를 기다리고 젠 토토.
튜플 튜플에서 자물쇠를 얻기 위해 기다리고 있습니다.
UserLock 사용자 잠금을 획득하기 위해 기다리고 있습니다.
virtualxid 가상 트랜잭션 ID 잠금을 획득하기 위해 기다리고 있습니다. 보다섹션 74.1.

표 28.12. 유형의 이벤트 대기lwlock

lwlock대기 이벤트 설명
addinshmeminit 공유 메모리에서 확장자의 공간 할당을 관리하기 위해 기다리고 젠 토토.
Autofile 업데이트 대기to파일.
autovacuum autovacuum 근로자의 현재 상태를 읽거나 업데이트하기를 기다리고 젠 토토.
autovacuumschedule autovacuum을 위해 선택된 테이블이 여전히 진공 청소기가 필요합니다.
배경 worker 배경 작업자 상태를 읽거나 업데이트하기 위해 기다리고 젠 토토.
btreevacuum B-Tree 지수에 대한 진공 관련 정보를 읽거나 업데이트하기 위해 기다리고 젠 토토.
Buffercontent 메모리에서 데이터 페이지에 액세스하기 위해 기다리고 있습니다.
Buffermpapp 버퍼 풀의 버퍼와 데이터 블록을 연결하기 위해 기다리고 젠 토토.
CheckPointerComm fsync 요청을 관리하기 위해 기다리고 젠 토토.
Committs 트랜잭션 커밋 타임 스탬프의 마지막 값을 읽거나 업데이트하기 위해 기다리고 젠 토토.
CommittSbuffer 커밋 타임 스탬프 SLRU 버퍼에서 I/O를 기다리고 젠 토토.
CommittSlru 커밋 타임 스탬프 SLRU 캐시에 액세스하기 위해 기다리고 젠 토토.
ControlFile 읽거나 업데이트하기를 기다리고 젠 토토PG_CONTROL파일을 파일 또는 새 월 파일을 만듭니다.
DynamicsharedMemoryControl 동적 공유 메모리 할당 정보를 읽거나 업데이트하기 위해 기다리고 젠 토토.
LockfastPath 프로세스를 읽거나 업데이트하기를 기다리고 젠 토토.
Lockmanager 정보를 읽거나 업데이트하기를 기다리고 젠 토토헤비급잠금.
LogicalReplauncherDsa 논리적 복제 런처의 동적 공유 메모리 할당에 액세스하기 위해 대기합니다.
LogicalReplauncherhash 논리적 복제 발사기의 공유 해시 테이블에 액세스하기 위해 기다리고 젠 토토.
LogicalRepworker 논리 복제 작업자의 상태를 읽거나 업데이트하기를 기다리고 젠 토토.
MultixAttGen 공유 된 다중 공유 상태를 읽거나 업데이트하기 위해 기다리고 젠 토토.
multixactmemberBuffer 다중 공장 멤버 SLRU 버퍼에서 I/O를 기다리고 젠 토토.
MultixActMemberslru 다중 공장 멤버 SLRU CACHE에 액세스하기 위해 기다리고 젠 토토.
multixactoffsetBuffer 다중 공장 오프셋 SLRU 버퍼에서 I/O를 기다리고 젠 토토.
multixactoffsetslru 다중 공장 오프셋 SLRU 캐시에 액세스하기 위해 기다리고 젠 토토.
multixacttruncation 다중 공장 정보를 읽거나 자르기를 기다리고 젠 토토.
NotifyBuffer A에서 I/O를 기다리고 젠 토토Notify메시지 SLRU 버퍼.
Notifyqueue 읽기 또는 업데이트 대기Notify메시지.
NotifyqueUetail 한도 업데이트 대기Notify메시지 저장소.
notifyslru 액세스 대기Notify메시지 SLRU 캐시.
Oidgen 새로운 OID를 할당하기 위해 기다리고 있습니다.
OldSnapShottimemap 오래된 스냅 샷 제어 정보를 읽거나 업데이트하기 위해 기다리고 젠 토토.
ParallelAppend 병렬 추가 계획 실행 중 다음 하위 계획을 선택하기를 기다립니다.
ParallelHashJoin 병렬 해시 조인 계획 실행 중에 작업자를 동기화하기 위해 기다리고 젠 토토.
ParallelQueryDsa 병렬 쿼리 대기 동적 공유 메모리 할당 대기.
공감대 병렬 쿼리 대기 동적 공유 메모리 할당 대기.
persessionRecordType 합성 유형에 대한 병렬 쿼리의 정보에 액세스하기 위해 기다리고 있습니다.
perssessionRecordTypMod 익명 레코드 유형을 식별하는 유형 수정 자에 대한 병렬 쿼리의 정보에 액세스하기 위해 기다리고 있습니다.
perxactpredicatelist 병렬 쿼리 중 현재 직렬화 가능한 트랜잭션에서 보유한 술어 잠금 목록에 액세스하기 위해 기다리고 있습니다.
pgstatsdata 공유 메모리 통계 데이터 액세스 대기
pgstatsda 통계 대기 경계 동적 공유 메모리 할당 access
pgstatshash 스탯 공유 메모리 해시 테이블 액세스 대기
predicatelockmanager 직렬화 가능한 트랜잭션에서 사용하는 술어 잠금 정보에 액세스하기 위해 대기합니다.
Procarray 공유 당 프로세스 당 데이터 구조에 액세스하기를 기다리고 있습니다 (일반적으로 스냅 샷을 얻거나 세션의 트랜잭션 ID를보고).
관계 맵핑 읽거나 업데이트하기 위해 기다리고 젠 토토pg_filenode.map파일 (특정 시스템 카탈로그의 Filenode 할당을 추적하는 데 사용).
Relcacheinit 읽거나 업데이트하기 위해 기다리고 젠 토토int관계 캐시 초기화 파일.
ReplicationOrigin 복제 원점을 생성, 삭제 또는 사용하기를 기다리고 있습니다.
Replicationoriginstate 하나의 복제 출신의 진행 상황을 읽거나 업데이트하기를 기다리고 젠 토토.
ReplicationSlotalLocation 복제 슬롯을 할당하거나 자유롭게하기 위해 기다리고 젠 토토.
ReplicationSlotControl 복제 슬롯 상태를 읽거나 업데이트하기 위해 기다리고 젠 토토.
ReplicationSlotio 복제 슬롯에서 I/O를 기다리고 젠 토토.
SerialBuffer 직렬화 가능한 트랜잭션 충돌에서 I/O를 기다리고 젠 토토.
SerializableFinishedList 완성 된 직렬화 가능한 트랜잭션 목록에 액세스하기 위해 기다리고 젠 토토.
SerializablePredicatelist 직렬화 가능한 트랜잭션에서 보유한 술어 잠금 목록에 액세스하기 위해 기다리고 있습니다.
Serializablexacthash 직렬화 가능한 트랜잭션에 대한 정보를 읽거나 업데이트하기를 기다리고 젠 토토.
SerialSlru 직렬화 가능한 트랜잭션 충돌에 액세스하기 위해 기다리고 젠 토토.
SharedTidbitMap 병렬 비트 맵 인덱스 스캔 중에 공유 TID 비트 맵에 액세스하기 위해 기다리고 젠 토토.
SharedTuplestore 병렬 쿼리 중에 공유 튜플 스토어에 액세스하기 위해 기다리고 있습니다.
SHMEMINDEX 공유 메모리에서 공간을 찾거나 할당하기를 기다리고 젠 토토.
sinvalread 공유 카탈로그 무효화 대기열에서 메시지를 검색하기 위해 기다리고 있습니다.
sinvalwrite 공유 카탈로그 무효 큐에 메시지를 추가하기 위해 기다리고 젠 토토.
Subtransbuffer 하위 트랜잭션 SLRU 버퍼에서 I/O를 기다리고 젠 토토.
Subtransslru 하위 전환 SLRU 캐시에 액세스하기 위해 기다리고 젠 토토.
syncrep 동기식 복제 상태에 대한 정보를 읽거나 업데이트하기를 기다리고 젠 토토.
syncscan 동기화 된 테이블 스캔의 시작 위치를 선택하기 위해 기다리고 젠 토토.
TABLESPACECREATE 테이블 스페이스를 만들거나 떨어 뜨리기를 기다립니다.
Twophasestate 준비된 거래 상태를 읽거나 업데이트하기를 기다리고 젠 토토.
Walbufmapping WAL 버퍼의 페이지 교체를 기다리고 있습니다.
Walinsert 메모리 버퍼에 WAL 데이터를 삽입하기 위해 기다리고 젠 토토.
Walwrite WAL 버퍼가 디스크에 쓰기를 기다리고 젠 토토.
Wraplimitsvacuum 트랜잭션 ID 및 다단계 소비에 대한 제한을 업데이트하기 위해 기다리고 젠 토토.
xactbuffer 트랜잭션 상태에서 I/O를 기다리는 SLRU 버퍼.
XACTSLRU 트랜잭션 상태에 액세스하기 위해 기다리고 젠 토토. SLRU CACHE.
xacttruncation 실행 대기PG_XACT_STATUS또는 가장 오래된 트랜잭션 ID를 업데이트하십시오.
xidgen 새로운 트랜잭션 ID를 할당하기 위해 기다리고 젠 토토.

Note

확장자가 추가 할 수 젠 토토lwlock참조 목록에 유형표 28.12. 경우에 따라 확장자로 지정된 이름이 모든 서버 프로세스에서 사용할 수있는 것은 아닙니다.lwlock대기 이벤트가 Just로보고 될 수 있습니다확장확장 지정 이름 대신.

표 28.13. 유형의 이벤트 대기타임 아웃

타임 아웃대기 이벤트 설명
Basebackupthrottle 스로틀 링 활동시기 백업 중 대기 중.
CheckpointWritedElay 체크 포인트를 수행하는 동안 쓰기 사이의 대기.
PGSLEEP 전화로 인한 대기PG_SLEEP또는 형제 기능.
복구 applydelay 지연 설정으로 인해 회복 중 WAL을 적용하기 위해 기다리고 젠 토토.
RecoveryRetrieveretryInterval WAL 데이터를 사용할 수없는 경우 복구 중 대기 소스 (PG_WAL, 아카이브 또는 스트림).
RegisterSyncRequest 요청 대기열이 가득 차서 체크 포인터에 동기화 요청을 보내는 동안 대기합니다.
Spindelay 경합 스피 락을 인수하는 동안 기다리고 젠 토토.
Vacuumdelay 비용 기반 진공 지연 지점에서 기다리고 있습니다.
Vacuumtruncate 테이블의 끝에서 빈 페이지를 자르기 위해 독점적 인 잠금 장치를 획득하기 위해 기다리고 있습니다.

대기 이벤트를 어떻게 볼 수 있는지에 대한 예가 있습니다.

PG_STAT_ACTIVITY에서 Wait_event_type |, WAKE_EVENT_TYPE, WAKE_EVENT를 선택하여 Wait_Event가 null이 아닌 경우;

28.2.4. pg_stat_replication #

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

표 28.14. pg_stat_replication보기

열 유형

설명

PID 정수

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 정수

클라이언트 가이 WAL 발신자와의 커뮤니케이션을 위해 사용하는 TCP 포트 번호 또는-1UNIX 소켓을 사용하는 경우

backend_start 시간대가있는 타임 스탬프

이 프로세스가 시작된 시간, 즉 클라이언트 가이 WAL Sender에 연결할 때

backend_xmin xid

이 대기xminHorizon 보고서hot_standby_feedback.

State 텍스트

현재 WAL 발신자 상태. 가능한 가치는 다음과 같습니다.

  • 스타트 업:이 WAL 발신자가 시작 중입니다.

  • 캐치 업:이 WAL 발신자의 연결된 대기는 1 차를 따라 잡고 있습니다.

  • 스트리밍:이 WAL 발신자는 연결된 대기 서버가 기본을 따라 잡은 후 변경 스트리밍입니다.

  • 백업:이 WAL 발신자가 백업을 보내고 있습니다.

  • 중지:이 WAL 발신자가 멈추고 젠 토토.

send_lsn PG_LSN

이 연결에 전송 된 마지막 쓰기 전달 로그 위치

쓰기 _lsn PG_LSN

이 대기 서버가 디스크에 작성한 마지막 쓰기 전달 로그 위치

flush_lsn PG_LSN

이 대기 서버로 디스크로 플러시 된 마지막 쓰기 전달 로그 위치

Replay_LSN PG_LSN

이 대기 서버의 데이터베이스로 재생되는 마지막 쓰기 전달 로그 위치

쓰기 _lag 간격

최근 WAL을 로컬로 플러싱 하고이 대기 서버가 작성했다는 알림을받는 시간이 경과했습니다 (그러나 아직 플러시되거나 적용되지 않음). 이것은 지연을 측정하는 데 사용될 수 있습니다.synchronous_commit레벨Remote_write이 서버가 동기 대기로 구성된 경우 커밋하는 동안 발생했습니다.

flush_lag 간격

최근 WAL을 플러싱 하고이 대기 서버가 작성하고 플러시했다는 알림을받는 시간이 경과했습니다 (그러나 아직 적용되지는 않았습니다). 이것은 지연을 측정하는 데 사용될 수 있습니다.synchronous_commit레벨on이 서버가 동기 대기로 구성된 경우 커밋하는 동안 발생했습니다.

Replay_lag 간격

최근 WAL을 로컬로 플러싱 하고이 대기 서버가 작성, 플러시 및 적용했다는 알림을받는 시간이 경과했습니다. 이것은 지연을 측정하는 데 사용될 수 있습니다.synchronous_commit레벨Remote_Apply이 서버가 동기 대기로 구성된 경우 커밋하는 동안 발생했습니다.

sync_priority 정수

우선 순위 기반 동기 복제에서 동기 대기로 선택된이 대기 서버의 우선 순위. 이것은 쿼럼 기반 동기 복제에 영향을 미치지 않습니다.

sync_state 텍스트

이 대기 서버의 동기 상태. 가능한 가치는 다음과 같습니다.

  • async101073_101111

  • 잠재력:이 대기 서버는 이제 비동기식이지만 현재 동기식이 실패하면 동기식이 될 수 있습니다.

  • sync:이 대기 서버는 동기식입니다.

  • Quorum:이 대기 서버는 Quorum Standbys의 후보로 간주됩니다.

Reply_Time 시간대가있는 타임 스탬프

Standby Server에서받은 마지막 답장 메시지 보내기


지연 시간에보고 된 지연 시간pg_stat_replicationView는 최근 WAL이 작성, 플러시 및 재생되는 데 걸리는 시간의 측정 및 발신자가 이에 대해 알 수 있도록 측정됩니다. 이 시간은 원격 서버가 동기 대기로 구성된 경우 각 동기 커밋 레벨에서 도입 한 커밋 지연을 나타냅니다.Replay_lag열은 최근 트랜잭션이 쿼리에 표시되기 전에 지연을 근사합니다. 대기 서버가 전송 서버를 완전히 따라 잡고 더 이상 WAL 활동이없는 경우 가장 최근에 측정 된 지연 시간이 짧은 시간 동안 계속 표시되고 Null을 표시합니다..

지연 시간은 물리적 복제를 위해 자동으로 작동합니다. 논리적 디코딩 플러그인은 선택적으로 추적 메시지를 방출 할 수 젠 토토.

Note

보고 된 지연 시간은 현재 재생 속도를 가정하는 대기 서버를 따라 잡는 데 걸리는 데 걸리는 시간에 대한 예측이 아닙니다. 이러한 시스템은 새로운 WAL이 생성되는 동안 비슷한 시간을 보여 주지만 발신자가 유휴 상태가되면 다릅니다.pg_stat_replication일부 사용자가 기대할 수있는 것처럼 가장 최근에보고 된 WAL 위치를 쓰고, 플러시하고, 재생하는 데 걸리는 시간을 보여줍니다. 이는 최근 쓰기 트랜잭션에 대한 동기 커밋 및 트랜잭션 가시성 지연을 측정하는 목표와 일치합니다.

28.2.5. PG_STAT_REPLICATION_SLOTS #

thePG_STAT_REPLICATION_SLOTS보기는 논리적 복제 슬롯 당 하나의 행을 포함하여 사용에 대한 통계를 보여줍니다.

표 28.15. PG_STAT_REPLICATION_SLOTS보기

열 유형

설명

SLOT_NAME 텍스트

복제 슬롯을위한 고유 한 클러스터 전체 식별자

spill_txns bigint

WAL의 디코딩을 위해 논리적 디코딩에 사용 된 메모리가 초과되면 일단 디스크에 쏟아진 트랜잭션 수logical_decoding_work_mem. 카운터는 최상위 트랜잭션과 하위 트랜잭션 모두에 대해 증가합니다.

Spill_Count bigint

이 슬롯의 WAL에서 변경을 해독하는 동안 트랜잭션이 디스크로 쏟아졌습니다. 이 카운터는 거래가 유출 될 때마다 증가하고 동일한 거래가 여러 번 유출 될 수 있습니다.

spill_bytes bigint

이 슬롯의 WAL에서 변경 사항을 디코딩하는 동안 디스크로 쏟아진 디코딩 된 트랜잭션 데이터의 양. 이 유출 카운터는 논리적 디코딩 중에 발생한 I/O를 측정하고 튜닝을 허용하는 데 사용될 수 젠 토토.logical_decoding_work_mem.

Stream_TXNS bigint

논리적 디코딩이 사용한 메모리 가이 슬롯의 WAL에서 변경을 해독하기 위해 사용한 메모리 후 디코딩 출력 플러그인으로 스트리밍 된 진행중인 트랜잭션 수logical_decoding_work_mem. 스트리밍은 최상위 트랜잭션에서만 작동합니다 (서브 트랜잭션은 독립적으로 스트리밍 할 수 없음)이므로 카운터는 서브 트랜잭션을 위해 증가하지 않습니다.

Stream_Countbigint

이 슬롯의 WAL에서 변경 사항을 디코딩하는 동안 진행중인 트랜잭션이 디코딩 출력 플러그인으로 스트리밍되었습니다. 이 카운터는 거래가 스트리밍 될 때마다 증가하고 동일한 트랜잭션이 여러 번 스트리밍 될 수 있습니다.

Stream_Bytesbigint

이 슬롯의 WAL에서 변경 사항을 디코딩하는 동안 진행중인 트랜잭션을 디코딩 출력 플러그인으로 스트리밍하기 위해 디코딩 된 트랜잭션 데이터의 양. 이 슬롯 의이 스트리밍 카운터와 조정하는 데 사용될 수 있습니다logical_decoding_work_mem.

Total_TXNS bigint

이 슬롯의 디코딩 출력 플러그인으로 전송 된 디코딩 된 트랜잭션 수. 이는 최상위 거래 만 계산하며 하위 트랜잭션에는 증가하지 않습니다.

Total_Bytesbigint

이 슬롯의 WAL에서 변경 사항을 디코딩하는 동안 디코딩 출력 플러그인으로 트랜잭션을 보내기 위해 해독 된 트랜잭션 데이터의 양. 여기에는 스트리밍 및/또는 유출 된 데이터가 포함됩니다.

stats_reset 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간


28.2.6. PG_STAT_WAL_RECEIVER #

thePG_STAT_WAL_RECEIVER보기는 한 행만 포함되며 해당 수신기의 연결 서버에서 WAL 수신기에 대한 통계를 표시합니다.

표 28.16. PG_STAT_WAL_RECEIVER보기

열 유형

설명

PID 정수

WAL 수신기 프로세스의 프로세스 ID

상태 텍스트

WAL 수신기 프로세스의 활동 상태

수용 _start_lsn PG_LSN

WAL 수신기가 시작될 때 사용 된 첫 번째 쓰기 전달 로그 위치

수용 _start_tli 정수

WAL 수신기가 시작될 때 사용 된 첫 번째 타임 라인 번호

writt_lsn PG_LSN

마지막 쓰기 로그 위치는 이미 수신되어 디스크에 작성되었지만 플러시되지 않았습니다. 데이터 무결성 검사에는 사용해서는 안됩니다.

Flushed_LSN PG_LSN

마지막 쓰기 전달 로그 위치에 이미 수신되어 디스크로 플러시되었으며,이 필드의 초기 값은 WAL 수신기가 시작될 때 사용 된 첫 번째 로그 위치입니다

수신 _tli 정수

타임 라인 번호 마지막 쓰기 로그 위치의 타임 라인 번호 디스크로 수신 및 플러시 된이 필드의 초기 값은 WAL 수신기가 시작될 때 사용 된 첫 번째 로그 위치의 타임 라인 번호입니다

last_msg_send_time 시간대가있는 타임 스탬프

Origin Wal Sender에서받은 마지막 메시지 보내기 시간

last_msg_receipt_time 시간대가있는 타임 스탬프

Origin Wal Sender에서받은 마지막 메시지의 수령 시간

최신_end_lsn PG_LSN

Origin Wal Sender 에보 고 된 마지막 쓰기 전달 로그 위치

최신_end_time 시간대가있는 타임 스탬프

Origin Wal Sender에보고 된 마지막 쓰기 전달 로그 위치의 시간

SLOT_NAME 텍스트

이 WAL 수신기가 사용하는 복제 슬롯 이름

sender_host 텍스트

호스트PostgreSQL인스턴스이 WAL 수신기가 연결되어 젠 토토. 연결이 UNIX 소켓을 통해 인 경우 호스트 이름, IP 주소 또는 디렉토리 경로 일 수 있습니다./.)

sender_port 정수

포트 번호PostgreSQL인스턴스이 WAL 수신기가 연결되어 젠 토토.

106799_106807 텍스트

보안에 민감한 필드가 난독 화 된이 WAL 수신기가 사용하는 연결 문자열.


28.2.7. pg_stat_recovery_prefetch #

thepg_stat_recovery_prefetch보기에는 하나의 행만 포함됩니다. 열Wal_distance, block_distanceio_depth현재 값 표시 및 다른 열에는와 재설정 할 수있는 누적 카운터가 표시됩니다.PG_STAT_RESET_SHARED기능.

표 28.17. pg_stat_recovery_prefetch보기

열 유형

설명

stats_reset 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간

prefetch bigint

버퍼 풀에 없었기 때문에 프리 페치 된 블록 수

hit bigint

이미 버퍼 풀에 있었기 때문에 프리 페치되지 않은 블록 수

skip_init bigint

제로에 이니 리화되기 때문에 프리 페치되지 않은 블록 수

skip_new bigint

아직 존재하지 않았기 때문에 프리 페치되지 않은 블록 수

skip_fpw bigint

전체 페이지 이미지가 WAL에 포함 되었기 때문에 프리 페치되지 않은 블록 수

skip_rep bigint

최근에 이미 프레치되어 있었기 때문에 프리 페치되지 않은 블록 수

Wal_distance int

프리 페터 가보고있는 바이트 수

block_distance int

프리 피터 가보고있는 블록 수

io_depth int

얼마나 많은 프리 페치가 시작되었지만 아직 완료된 것으로 알려져 있지 않은지


28.2.8. pg_stat_subscription #

표 28.18. pg_stat_subscription보기

열 유형

설명

subid OID

구독의 OID

서브 이름 이름

구독 이름

PID 정수

가입 작업자 프로세스의 프로세스 ID

leader_pid 정수

리더의 프로세스 ID이 과정이 병렬 적용 작업자 인 경우 작업자를 적용하십시오. 이 과정이 리더 인 경우 NULL 근로자 또는 동기화 작업자 인 경우

Relid OID

작업자가 동기화하는 관계의 OID; 지도자를위한 NULL은 노동자 및 병렬 적 신청 근로자를 신청합니다

수신 _lsn PG_LSN

마지막 쓰기 로그 위치가 수신 되었으며이 필드의 초기 값은 0입니다. 병렬 적 신청 근로자를위한 null

last_msg_send_time 시간대가있는 타임 스탬프

Origin Wal Sender로부터받은 마지막 메시지의 시간 보내기; 병렬 적 신청 근로자를위한 null

last_msg_receipt_time 시간대가있는 타임 스탬프

Origin Wal Sender로부터받은 마지막 메시지의 수령 시간; 병렬 적 신청 근로자를위한 null

최신_end_lsn PG_LSN

Origin Wal Sender 에보 고 된 마지막 쓰기 로그 위치; 병렬 적 신청 근로자를위한 null

최신_end_time 시간대가있는 타임 스탬프

Origin Wal Sender에보고 된 마지막 쓰기 로그 위치의 시간; 병렬 적 신청 근로자를위한 null


28.2.9. pg_stat_subscription_stats #

thepg_stat_subscription_statsView는 구독 당 하나의 행을 포함합니다.

표 28.19. pg_stat_subscription_stats보기

열 유형

설명

subid OID

구독의 OID

서브 이름 이름

구독 이름

apply_error_count bigint

변경 사항을 적용하는 동안 오류가 발생한 횟수

sync_error_count bigint

초기 테이블 동기화 중에 오류가 발생한 횟수

stats_reset 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간


28.2.10. PG_STAT_SSL #

thePG_STAT_SSL보기에는 백엔드 또는 WAL 발신자 프로세스 당 한 행이 포함되어 있어이 연결의 SSL 사용에 대한 통계가 표시됩니다. 가입 할 수 있습니다pg_stat_activity또는pg_stat_replicationonPID연결에 대한 자세한 내용을 얻으려면 열.

표 28.20. PG_STAT_SSL보기

열 유형

설명

PID 정수

백엔드 또는 WAL 발신자 프로세스의 프로세스 ID

SSL 부울

이 연결에서 SSL을 사용하는 경우

버전 텍스트

사용중인 SSL 버전 또는이 연결에서 SSL이 사용되지 않는 경우 NULL

암호 텍스트

사용중인 SSL 암호의 이름 또는이 연결에서 SSL을 사용하지 않는 경우 NULL

비트 정수

사용 된 암호화 알고리즘의 비트 수 또는이 연결에 SSL이 사용되지 않는 경우 NULL

client_dn 텍스트

사용 된 클라이언트 인증서의 DN (Distinguished Name) 필드 또는 클라이언트 인증서가 제공되지 않았 거나이 연결에서 SSL을 사용하지 않는 경우 NULL. DN 필드가보다 길면이 필드가 잘립니다.지명 된 ATALEN(표준 빌드의 64 자).

Client_Serial 숫자

클라이언트 인증서의 일련 번호 또는 클라이언트 인증서가 제공되지 않았 거나이 연결에서 SSL을 사용하지 않는 경우 NULL. 인증서 일련 번호와 인증서 발급자의 조합은 인증서를 고유하게 식별합니다 (발급자가 일련 번호를 잘못 재사용하지 않는 한)..

issuer_dn 텍스트

클라이언트 인증서 발행인의 DN 또는 클라이언트 인증서가 제공되지 않았 거나이 연결에서 SSL을 사용하지 않는 경우 NULL. 이 필드는처럼 잘립니다.client_dn.


28.2.11. PG_STAT_GSSAPI #

thePG_STAT_GSSAPI보기에는 백엔드 당 하나의 행이 포함되어 있으며이 연결에 대한 GSSAPI 사용에 대한 정보가 표시됩니다. 가입 할 수 있습니다pg_stat_activity또는pg_stat_replicationonPID연결에 대한 자세한 내용을 얻으려면 열.

표 28.21. PG_STAT_GSSAPI보기

열 유형

설명

PID 정수

백엔드의 프로세스 ID

gss_authenticated 부울

이 연결에 GSSAPI 인증이 사용 된 경우

Principal 텍스트

이 연결을 인증하는 데 사용되는 원금 또는 GSSAPI 가이 연결을 인증하는 데 사용되지 않은 경우 NULL. 이 필드는 교장이보다 길다면 잘린다지명 된 ATALEN(표준 빌드의 64 자).

암호화 부울

이 연결에서 GSSAPI 암호화가 사용되는 경우

Credentials_delegated 부울

GSSAPI 자격 증명 이이 연결에 위임 된 경우.


28.2.12. pg_stat_archiver #

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

표 28.22. pg_stat_archiver보기

열 유형

설명

archived_count bigint

성공적으로 보관 된 책치 파일 수

last_archived_wal 텍스트

WAL 파일의 이름 가장 최근에 성공적으로 보관 된

last_archived_time 시간대가있는 타임 스탬프

가장 최근의 성공적인 아카이브 작업 시간

FAILY_COUNT bigint

WAL 파일을 보관하려는 실패 시도 수

last_failed_wal 텍스트

139488_139553

last_failed_time 시간대가있는 타임 스탬프

가장 최근에 실패한 아카이브 작업 시간

stats_reset 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간


일반적으로 책치 파일은 순서대로 보관되어 있으며, 가장 오래된 것부터 최신부터 보장되지 않지만 보장되지 않으며 대기를 촉진 할 때 또는 충돌 복구 후와 같은 특별한 상황에서는 유지되지 않습니다. 따라서 모든 파일보다 오래된 모든 파일을 가정하는 것은 안전하지 않습니다.last_archived_wal성공적으로 보관되었습니다.

28.2.13. PG_STAT_IO #

thePG_STAT_IO보기에는 백엔드 유형, 대상 I/O 객체 및 I/O 컨텍스트의 각 조합마다 한 행이 포함되어 클러스터 전체 I/O 통계를 표시합니다. 의미가없는 조합은 생략됩니다.

현재, I/O 관계 (예 : 테이블, 인덱스)가 추적되었습니다. 그러나 공유 버퍼를 우회하는 관계 I/O (예 : 하나의 테이블 스페이스에서 다른 테이블로 이동할 때)는 현재 추적되지 않습니다.

표 28.23. PG_STAT_IO보기

열 유형

설명

backend_type 텍스트

백엔드 유형 (예 : 배경 작업자, Autovacuum Worker). 보다pg_stat_activity자세한 내용은backend_types. 일부backend_types는 I/O 작동 통계를 축적하지 않고보기에 포함되지 않습니다.

개체 텍스트

I/O 작동의 대상 객체. 가능한 가치는 다음과 같습니다.

  • 관계: 영구 관계.

  • 임시 관계: 임시 관계.

Context 텍스트

I/O 작동의 컨텍스트. 가능한 가치는 다음과 같습니다.

  • 정상: 기본 또는 표준ContextI/O 작동 유형의 경우. 예를 들어, 기본적으로 관계 데이터는 공유 버퍼에서 읽고 기록됩니다.Context 정상.

  • 진공: I/O 운영은 영구 관계를 진공 청소기에서 공유하고 분석하는 동안 공유 버퍼 외부에서 수행되었습니다. 임시 테이블 진공 청소기는 다른 임시 테이블 IO 작업과 동일한 로컬 버퍼 풀을 사용하고 추적합니다.Context 정상.

  • BulkRead: 공유 버퍼 외부에서 수행 한 특정 대형 판독 I/O 작업 (예 : 큰 테이블의 순차적 스캔).

  • BulkWrite: 공유 버퍼 외부에서 수행 된 특정 대규모 쓰기 I/O 작업COPY.

읽기 bigint

읽기 작업 수, 각 크기에 지정된 크기op_bytes.

read_time 이중 정밀도

밀리 초의 읽기 작업에 소비 된 시간 (iftrack_io_timing활성화되어 젠 토토. 그렇지 않으면 0)

쓰기 bigint

쓰기 작업 수, 각 크기에 지정된 크기op_bytes.

쓰기 _time 이중 정밀도

Milliseconds로 쓰기 작업에 소요되는 시간 (iftrack_io_timing활성화되어 젠 토토. 그렇지 않으면 0)

WriteBacks bigint

크기 단위op_bytes프로세스가 커널을 요청한 프로세스는 영구 저장소에 기록합니다.

WriteBack_Time 이중 정밀도

Milliseconds의 쓰기 백 작업에 소비 된 시간 (iftrack_io_timing가 활성화되고 그렇지 않으면 0). 여기에는 쓰기 요청을 큐에 쓰는 시간과 잠재적으로 더러운 데이터를 작성하는 데 소요 된 시간이 포함됩니다.

확장 bigint

관계 확장 작업, 각 크기에 지정된 크기op_bytes.

Extend_Time 이중 정밀도

밀리 초로 연장 작업에 소비 된 시간 (iftrack_io_timing활성화되어 젠 토토. 그렇지 않으면 0)

op_bytes bigint

146799_146862

관계 데이터 읽기, 쓰기 및 확장은block_size빌드 타임 매개 변수에서 파생 된 단위blcksz,8192기본적으로.

hits bigint

공유 버퍼에서 원하는 블록이 발견 된 횟수.

evictions bigint

다른 용도로 사용할 수 있도록 공유 또는 로컬 버퍼에서 블록이 작성된 횟수.

inContext 정상, 이것은 블록이 버퍼에서 퇴거되고 다른 블록으로 교체 된 횟수를 계산합니다. 안에Contexts BulkWrite, BulkRead진공, 이것은 공유 버퍼를 대량 I/O 작동에 사용하기 위해 별도의 크기 제한 링 버퍼에 공유 버퍼를 추가하기 위해 공유 버퍼에서 블록을 퇴거시킨 횟수를 계산합니다..

재사용 bigint

공유 버퍼 외부의 크기 제한 링 버퍼에서 기존 버퍼의 횟수는에서 재사용되었습니다BulkRead, BulkWrite또는진공 Contexts.

fsyncs bigint

fsync전화. 이것들은에서만 추적됩니다.Context 정상.

fsync_time 이중 정밀도

milliseconds의 fsync 작업에 소비 된 시간 (iftrack_io_timing활성화되어 젠 토토. 그렇지 않으면 0)

stats_reset 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간.


일부 백엔드 유형은 일부 I/O 객체 및/또는 일부 I/O 컨텍스트에서 I/O 작업을 수행하지 않습니다. 이 행은보기에서 생략됩니다.backend_type CheckPointer개체 임시 관계.

또한 일부 I/O 작업은 특정 백엔드 유형 또는 특정 I/O 개체 및/또는 특정 I/O 컨텍스트에서 수행되지 않습니다. 이 세포는 무효가 될 것입니다.fsynced, sofsyncs개체 임시 관계. 또한 배경 작가는 읽기를 수행하지 않으므로읽기줄이 늘어날 것입니다backend_type 배경 작가.

PG_STAT_IO데이터베이스 튜닝에 정보를 제공하는 데 사용할 수 젠 토토. 예를 들어:

  • A Highevictions카운트는 공유 버퍼가 증가해야한다는 것을 나타냅니다.

  • 클라이언트 백엔드는 데이터가 영구적 인 스토리지로 유지되도록 체크 포인터에 의존합니다. 많은 수의fsyncsby클라이언트 백엔드s는 공유 버퍼 또는 체크 포인터의 오해를 나타낼 수 있습니다. 체크 포인터 구성에 대한 자세한 내용은에서 찾을 수 있습니다.섹션 30.5.

  • 일반적으로 클라이언트 백엔드는 CheckPointer 및 Background Writer와 같은 보조 프로세스에 의존하여 가능한 한 더러운 데이터를 작성할 수 있어야합니다. 클라이언트 백엔드에 의한 많은 수의 글은 공유 버퍼 또는 체크 포인터의 잘못된 구성을 나타낼 수 있습니다.섹션 30.5.

Note

열 추적 I/O 시간은 0이 아닌 경우에만track_io_timing가 활성화되었습니다. 이 열을 해당 IO 작업과 함께 COSE에 참조 할 때 사용자는주의해야합니다.track_io_timing마지막 통계가 재설정 된 이후 전체 시간 동안 활성화되지 않았습니다.

28.2.14. PG_STAT_BGWRITER #

thePG_STAT_BGWRITER보기는 항상 클러스터에 대한 전역 데이터를 포함하는 단일 행이 있습니다.

표 28.24. 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 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간


28.2.15. PG_STAT_WAL #

thePG_STAT_WALView는 항상 클러스터의 WAL 활동에 대한 데이터를 포함하는 단일 행이 있습니다.

표 28.25. PG_STAT_WAL보기

열 유형

설명

Wal_records bigint

147899_147936

Wal_FPI bigint

생성 된 WAL 전체 페이지 이미지의 총 수

Wal_Bytes 숫자

바이트로 생성 된 WAL의 총액

Wal_buffers_full bigint

WAL 버퍼가 가득 찼기 때문에 WAL 데이터가 디스크에 작성된 횟수

Wal_Write bigint

WAL 버퍼가 디스크에 작성된 횟수xlogwrite요청. 보다섹션 30.5내부 WAL 기능에 대한 자세한 내용은xlogwrite.

Wal_Sync bigint

WAL 파일을 통해 디스크에 동기화 된 횟수issure_xlog_fsync요청 (iffsyncisonWal_sync_methodisfdatasync, fsync또는fsync_writethrough, 그렇지 않으면 0). 보다섹션 30.5내부 WAL 기능에 대한 자세한 내용은issure_xlog_fsync.

Wal_write_time 이중 정밀도

WAL 버퍼를 디스크로 작성하는 데 소요되는 총 시간xlogwrite요청, 밀리 초의 요청 (iftrack_wal_io_timing가 활성화되어 있고 그렇지 않으면 0). 여기에는 동기 시간이 포함됩니다.Wal_sync_methodisOpen_Datasync또는Open_Sync.

WAL_SYNC_TIME 이중 정밀도

WAL 파일을 디스크로 동기화하는 데 소요되는 총 시간issure_xlog_fsync요청, 밀리 초의 요청 (iftrack_wal_io_timing활성화,fsyncisonWal_sync_methodisfdatasync, fsync또는fsync_writethrough, 그렇지 않으면 0).

stats_reset 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간


28.2.16. PG_STAT_DATABASE #

thePG_STAT_DATABASE보기는 클러스터의 각 데이터베이스에 대해 하나의 행을 포함하고 공유 객체의 경우 하나는 데이터베이스 전체 통계를 표시합니다.

표 28.26. PG_STAT_DATABASE보기

열 유형

설명

datid OID

이 데이터베이스의 OID 또는 공유 관계에 속하는 객체의 경우

datname 이름

이 데이터베이스의 이름 또는NULL공유 개체의 경우

Numbackends 정수

현재이 데이터베이스에 연결된 백엔드 수, 또는NULL공유 개체. 이것은이보기에서 현재 상태를 반영하는 값을 반환하는 유일한 열입니다.

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

이 데이터베이스에서 감지 된 교착 상태

CheckSum_Failures bigint

데이터 페이지 수 검사 실패이 데이터베이스 (또는 공유 객체에서) 또는 데이터 체크섬이 활성화되지 않은 경우 NULL..

CheckSum_Last_Failure 시간대가있는 타임 스탬프

이 데이터베이스 (또는 공유 객체)에서 마지막 데이터 페이지 체크섬 실패가 감지 된 시간 또는 데이터 확인이 활성화되지 않은 경우 NULL.

blk_read_time 이중 정밀도

이 데이터베이스에서 백엔드별로 데이터 파일 블록을 읽는 데 소요 된 시간 (iftrack_io_timing활성화되어 젠 토토. 그렇지 않으면 0)

blk_write_time 이중 정밀도

이 데이터베이스에서 백엔드에 의해 데이터 파일 블록을 작성하는 데 소요 된 시간 (iftrack_io_timing활성화되어 젠 토토. 그렇지 않으면 0)

session_time 이중 정밀도

이 데이터베이스의 데이터베이스 세션에 의해 소비 된 시간, 밀리 초로 (세션 상태가 변경 될 때만 통계가 업데이트되므로, 세션이 오랫동안 유휴 상태 인 경우이 유휴 시간이 포함되지 않습니다)

active_time 이중 정밀도

이 데이터베이스에서 SQL 문을 실행하는 데 소요되는 시간, 밀리 초입니다 (이는 상태에 해당합니다ActiveFastPath 함수 호출inpg_stat_activity)

idle_in_transaction_time 이중 정밀도

이 데이터베이스의 트랜잭션에서 밀리 초 단위로 유휴하는 시간 (이는 주에 해당합니다트랜잭션의 유휴 상태트랜잭션의 유휴 (중단)inpg_stat_activity)

세션 bigint

이 데이터베이스에 설정된 총 세션 수

sessions_abandoned bigint

클라이언트와의 연결이 손실 되었기 때문에 종료 된이 데이터베이스에 대한 데이터베이스 세션 수

sessions_fatal bigint

치명적인 오류로 종료 된이 데이터베이스에 대한 데이터베이스 세션 수

sessions_kild bigint

운영자 중재에 의해 종료 된이 데이터베이스에 대한 데이터베이스 세션 수

stats_reset 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간


28.2.17. PG_STAT_DATABASE_CONFLICTS #

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

표 28.27. PG_STAT_DATABASE_CONFLICTS보기

열 유형

설명

datid OID

데이터베이스의 OID

datname 이름

이 데이터베이스 이름

cl_tablespace bigint

삭제 된 테이블 스페이스로 인해 취소 된이 데이터베이스의 쿼리 수

cl_lock bigint

잠금 시간 초과로 인해 취소 된이 데이터베이스의 쿼리 수

COLL_SNAPSHOT bigint

이전 스냅 샷으로 인해 취소 된이 데이터베이스의 쿼리 수

COLL_BUFFERPIN bigint

고정 버퍼로 인해 취소 된이 데이터베이스의 쿼리 수

cl_deadlock bigint

교착 상태로 인해 취소 된이 데이터베이스의 쿼리 수

COLL_ACTIVE_LOGICALSLOT bigint

이전 스냅 샷으로 인해 취소 된이 데이터베이스에서 논리 슬롯의 사용 수 또는 너무 낮은 AWal_level기본


28.2.18. pg_stat_all_tables #

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

표 28.28. pg_stat_all_tables보기

열 유형

설명

Relid OID

테이블의 OID

Schemaname 이름

이 테이블이있는 스키마 이름

Relname 이름

이 테이블의 이름

SEQ_SCAN bigint

이 표에서 시작된 순차적 스캔 수

last_seq_scan 시간대가있는 타임 스탬프

가장 최근의 트랜잭션 중지 시간을 기준 으로이 테이블의 마지막 순차적 스캔 시간

seq_tup_read bigint

순차적 스캔으로 가져온 라이브 행 수

idx_scan bigint

이 표에서 시작된 인덱스 스캔 수

last_idx_scan 시간대가있는 타임 스탬프

가장 최근의 트랜잭션 중지 시간을 기준 으로이 테이블의 마지막 인덱스 스캔 시간

162488_162501 bigint

인덱스 스캔에 의해 가져온 라이브 행 수

n_tup_ins bigint

삽입 된 총 행 수

n_tup_upd bigint

총 줄 수가 업데이트되었습니다. (여기에는 계산 된 행 업데이트가 포함됩니다n_tup_hot_updN_TUP_NEWPAGE_UPD및 나머지 비hot업데이트.)

N_TUP_DEL bigint

삭제 된 총 행 수

n_tup_hot_upd bigint

행 수뜨거운 업데이트. 이들은 인덱스에 후속 버전이 필요하지 않은 업데이트입니다.

N_TUP_NEWPAGE_UPD bigint

후속 버전이 a에서 업데이트되었습니다.NEW힙 페이지, A가있는 원본 버전 뒤에 남겨 둡니다T_CTID필드다른 힙 페이지를 가리 킵니다. 이들은 항상 비hot업데이트.

n_live_tup bigint

예상 라이브 행 수

n_dead_tup bigint

예상 죽은 줄 수

n_mod_since_analyze bigint

이 테이블이 마지막으로 분석 된 이후 수정 된 추정 행 수

n_ins_since_vacuum bigint

이 테이블이 마지막으로 진공 청소기 이후 삽입 된 추정 행 수

last_vacuum 시간대가있는 타임 스탬프

이 테이블이 수동으로 진공 청소 된 마지막 시간 (계산되지 않음진공 Full)

last_autovacuum 시간대가있는 타임 스탬프

이 테이블이 Autovacuum 데몬에 의해 진공 청소 된 마지막 시간

last_analyze 시간대가있는 타임 스탬프

이 테이블이 수동으로 분석 된 마지막 시간

last_autoanalyze 시간대가있는 타임 스탬프

이 테이블이 Autovacuum Daemon에 의해 마지막으로 분석 한 시간

Vacuum_Count bigint

이 테이블이 수동으로 진공 청소기가 됨 (계산되지 않음진공 Full)

autovacuum_count bigint

이 테이블이 Autovacuum 데몬에 의해 진공 청소기를 청소 한 횟수

Analyze_Count bigint

이 테이블이 수동으로 분석 된 횟수

autoanalyze_count bigint

이 테이블이 Autovacuum 데몬에 의해 분석되었습니다


28.2.19. PG_STAT_ALL_INDEXES #

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

표 28.29. PG_STAT_ALL_INDEXES보기

열 유형

설명

Relid OID

이 색인에 대한 테이블의 OID

IndexRelid OID

이 색인의 OID

Schemaname 이름

스키마 이름이 색인이

Relname 이름

이 색인의 표 이름

indexrelname 이름

이 색인의 이름

idx_scan bigint

이 인덱스에서 시작된 인덱스 스캔 수

last_idx_scan 시간대가있는 타임 스탬프

가장 최근의 트랜잭션 중지 시간을 기준 으로이 인덱스의 마지막 스캔 시간

idx_tup_read bigint

이 인덱스에서 스캔에 의해 반환 된 인덱스 항목 수

162488_162501 bigint

이 인덱스를 사용하여 간단한 인덱스 스캔으로 가져온 라이브 테이블 행의 수


인덱스는 간단한 인덱스 스캔으로 사용할 수 젠 토토.비트 맵인덱스 스캔 및 최적화. 비트 맵 스캔에서 여러 인덱스의 출력은 또는 OR OR 규칙을 통해 결합 될 수 있으므로 비트 맵 스캔을 사용할 때 개별 힙 행 페치를 특정 인덱스와 연관시키기가 어렵습니다.PG_STAT_ALL_INDEXES.idx_tup_read사용하는 인덱스의 경우 카운트 (s)는를 증가시킵니다.pg_stat_all_tables.162488_162501테이블에 대한 계산이지만 영향을 미치지 않습니다PG_STAT_ALL_INDEXES.162488_162501. Optimizer는 또한 인덱스에 액세스하여 Optimizer 통계가 오래 될 수 있으므로 기록 된 최적화 통계 범위를 벗어난 공급 상수를 확인합니다..

Note

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

28.2.20. pg_statio_all_tables #

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

표 28.30. pg_statio_all_tables보기

열 유형

설명

Relid 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

이 테이블의 토스트 테이블 인덱스 (있는 경우)


28.2.21. PG_STATIO_ALL_INDEXES #

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

표 28.31. PG_STATIO_ALL_INDEXES보기

열 유형

설명

Relid OID

이 색인에 대한 테이블의 OID

IndexRelid OID

이 색인의 OID

Schemaname 이름

스키마 이름이 색인이

Relname 이름

이 색인의 표 이름

indexrelname 이름

이 색인의 이름

idx_blks_read bigint

이 인덱스에서 읽은 디스크 블록 수

idx_blks_hit bigint

이 색인의 버퍼 히트 수


28.2.22. PG_STATIO_ALL_SEATENCES #

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

표 28.32. PG_STATIO_ALL_SEATENCES보기

열 유형

설명

Relid OID

시퀀스의 OID

Schemaname 이름

스키마의 이름이 시퀀스는

Relname 이름

이 시퀀스의 이름

blks_read bigint

이 시퀀스에서 읽은 디스크 블록 수

blks_hit bigint

이 순서에서 버퍼 히트 수


28.2.23. PG_STAT_USER_FUNTIONS #

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

표 28.33. PG_STAT_USER_FUNTIONS보기

열 유형

설명

funcid OID

함수의 OID

Schemaname 이름

스키마 이름이 함수는

funcname 이름

이 함수의 이름

전화 bigint

이 기능이 호출 된 횟수

Total_Time 이중 정밀도

이 기능에 소비 된 총 시간 및 이에 의해 호출 된 다른 모든 기능, 밀리 초

self_time 이중 정밀도

이 기능 자체에 소비 된 총 시간은 밀리 초로 불리는 다른 기능을 포함하지 않고


28.2.24. PG_STAT_SLRU #

PostgreSQL|SLRU(단순한 최소한 사용) 캐시. 그만큼PG_STAT_SLRU보기는 각 추적 된 SLRU 캐시에 대해 하나의 행이 포함되어 있으며 캐시 된 페이지에 대한 액세스에 대한 통계를 보여줍니다.

표 28.34. PG_STAT_SLRU보기

열 유형

설명

이름 텍스트

SLRU의 이름

blks_zeroed bigint

초기화 중에 제로화 된 블록 수

blks_hit bigint

DISK 블록이 이미 SLRU에서 발견되었으므로 읽기가 필요하지 않도록했습니다 (이것은 운영 체제의 파일 시스템 캐시가 아닌 SLRU의 적중 만 포함)

blks_read bigint

이 SLRU에 대해 읽기 디스크 블록 수

blks_written bigint

이 SLRU 용으로 작성된 디스크 블록 수

blks_exists bigint

이 SLRU의 존재를 확인한 블록 수

플러시 bigint

이 SLRU에 대한 더러운 데이터의 플러시 수

자르기 bigint

이 slru에 대한 잘린 수치

stats_reset 시간대가있는 타임 스탬프

이러한 통계가 마지막으로 재설정 된 시간


28.2.25. 통계 기능#

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

누적 통계 시스템과 관련된 추가 기능이 나열되어 있습니다표 28.35.

표 28.35. 추가 통계 기능

기능

설명

pg_backend_pid() →정수

현재 세션에 첨부 된 서버 프로세스의 프로세스 ID를 반환합니다.

pg_stat_get_activity ( 정수) →Setof Record

지정된 프로세스 ID를 사용한 백엔드에 대한 정보 기록 또는 시스템의 각 활성 백엔드에 대해 하나의 레코드를 반환합니다.NULL지정되어 있습니다. 반환 된 필드는에있는 필드의 하위 집합입니다.pg_stat_activity보기

PG_STAT_GET_SNAPSHOT_TIMESTAMP() →시간대가있는 타임 스탬프

통계 스냅 샷이 없으면 현재 통계 스냅 샷의 타임 스탬프를 반환합니다. 트랜잭션에서 누적 통계가 처음으로 액세스 할 때 스냅 샷이 찍히는 경우stats_fetch_consistency로 설정되었습니다Snapshot

pg_stat_get_xact_blocks_fetched ( OID) →bigint

현재 트랜잭션에서 테이블 또는 인덱스에 대한 블록 읽기 요청 수를 반환합니다. 이 번호 마이너스PG_STAT_GET_XACT_BLOCKS_HIT커널 수를 제공read ()전화; 실제 물리적 판독 수는 일반적으로 커널 수준 버퍼링으로 인해 낮습니다.

PG_STAT_GET_XACT_BLOCKS_HIT ( OID) →bigint

캐시에서 발견 된 현재 트랜잭션에서 테이블 또는 인덱스에 대한 블록 읽기 요청 수를 반환합니다 (커널 트리거read ()전화).

PG_STAT_CLEAR_SNAPSHOT() →void

현재 통계 스냅 샷 또는 캐시 된 정보를 버립니다.

PG_STAT_RESET() →void

현재 데이터베이스의 모든 통계 카운터를 0으로 재설정합니다.

이 함수는 기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 함수를 실행하도록 실행할 수 있습니다..

PG_STAT_RESET_SHARED ( 텍스트) →void

인수에 따라 일부 클러스터 전체 통계 카운터를 0으로 재설정합니다. 논쟁은bgwriter에 표시된 모든 카운터를 재설정하려면PG_STAT_BGWRITER보기,Archiver에 표시된 모든 카운터를 재설정하려면pg_stat_archiver보기,io에 표시된 모든 카운터를 재설정하려면PG_STAT_IO보기,Wal에 표시된 모든 카운터를 재설정하려면PG_STAT_WAL보기 또는복구 _prefetch에 표시된 모든 카운터를 재설정하려면pg_stat_recovery_prefetch보기

이 함수는 기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 함수를 실행하도록 실행할 수 있습니다..

pg_stat_reset_single_table_counters ( OID) →void

현재 데이터베이스의 단일 테이블 또는 인덱스에 대한 통계를 재설정하거나 클러스터의 모든 데이터베이스에서 공유합니다.

이 함수는 기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 함수를 실행하도록 실행할 수 있습니다..

pg_stat_reset_single_function_counters ( OID) →void

현재 데이터베이스의 단일 함수에 대한 통계를 0으로 재설정합니다.

이 함수는 기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 함수를 실행하도록 실행할 수 있습니다..

PG_STAT_RESET_SLRU ( 텍스트) →void

단일 SLRU 캐시 또는 클러스터의 모든 SLRU에 대해 통계를 0으로 재설정합니다. 인수가 null이면에 표시된 모든 카운터PG_STAT_SLRU모든 SLRU 캐시에 대한보기가 재설정됩니다. 논쟁은 중 하나 일 수 있습니다.Committs, multixactmember, multixactoffset, Notify, Serial, 서브 트랜스또는xact해당 항목에 대해서만 카운터를 재설정합니다. 인수가기타(또는 실제로 인식되지 않은 이름), Extension 정의 캐시와 같은 다른 모든 SLRU 캐시에 대한 카운터는 재설정됩니다.

이 함수는 기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 함수를 실행하도록 실행할 수 있습니다..

pg_stat_reset_replication_slot ( 텍스트) →void

인수에 의해 정의 된 복제 슬롯의 통계를 재설정합니다. 인수가NULL, 모든 복제 슬롯에 대한 통계를 재설정합니다.

이 함수는 기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 함수를 실행하도록 실행할 수 있습니다..

pg_stat_reset_subscription_stats ( OID) →void

에 표시된 단일 구독에 대한 통계 재설정pg_stat_subscription_stats0을 볼 수 젠 토토. 인수가NULL, 모든 구독에 대한 통계 재설정.

이 함수는 기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 함수를 실행하도록 실행할 수 있습니다..


경고

사용PG_STAT_RESET ()또한 Autovacuum이 진공 또는 분석을 트리거 할시기를 결정하기 위해 사용하는 카운터를 재설정합니다. 이 카운터를 재설정하면 Autovacuum이 필요한 작업을 수행하지 않아도됩니다. 이로 인해 테이블 ​​부풀어 오르거나 오래된 테이블 통계와 같은 문제가 발생할 수 있습니다.분석통계가 재설정 된 후 권장됩니다.

pg_stat_get_activity,의 기본 기능pg_stat_activity보기, 각 백엔드 프로세스에 대한 모든 정보가 포함 된 일련의 레코드를 반환합니다. 때로는이 정보의 하위 집합 만 얻는 것이 더 편리 할 수 ​​있습니다.표 28.36. 이 액세스 기능은 세션의 백엔드 ID 번호를 사용합니다. 이는 동시 세션의 백엔드 ID와 구별되는 작은 양의 정수입니다. 세션의 ID는 종료하자마자 재활용 할 수 있습니다.pg_stat_get_backend_idset이러한 함수를 호출하기 위해 모든 활성 백엔드의 ID 번호를 나열하는 편리한 방법을 제공합니다. 예를 들어,를 보여려면PIDs 및 모든 백엔드의 현재 쿼리 :

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

표 28.36. 백 커드 당 통계 기능

기능

설명

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_idset() →정수 세트

현재 활성 백엔드 ID 번호 세트를 반환합니다.

pg_stat_get_backend_pid ( 정수) →정수

이 백엔드의 프로세스 ID를 반환합니다.

pg_stat_get_backend_start ( 정수) →시간대가있는 타임 스탬프

이 과정이 시작된 시간을 반환합니다.

pg_stat_get_backend_subxact ( 정수) →레코드

지정된 ID와 백엔드의 하위 트랜잭션에 대한 정보 기록을 반환합니다. 반환 된 필드는subxact_count, 이것은 백엔드의 서브 트랜잭션 캐시에서 하위 트랜잭션 수입니다.subxact_overflow, 백엔드의 서브 트랜잭션 캐시가 오버플로되었는지 여부를 나타냅니다.

PG_STAT_GET_BACKEND_USERID ( 정수) →OID

이 백엔드에 로그인 한 사용자의 OID를 반환합니다.

PG_STAT_GET_BACKEND_WAIT_EVENT ( 정수) →텍스트

이 백엔드가 현재 대기중인 경우 대기 이벤트 이름을 반환합니다. 보다표 28.5through표 28.13.

PG_STAT_GET_BACKEND_WAIT_EVENT_TYPE ( 정수) →텍스트

이 백엔드가 현재 대기중인 경우 대기 이벤트 유형 이름을 반환합니다. 보다표 28.4자세한 내용.

PG_STAT_GET_BACKEND_XACT_START ( 정수) →시간대가있는 타임 스탬프

225334_2잠금 |2


수정 제출

문서에 올바른 것이 없다면 일치하지 않습니다.이 양식문서 문제를보고하려면