본문 바로가기

데이터베이스/PostgreSQL

PostgreSQL 대기 이벤트 조회 및 상세설명

by 아얌아얌 2023. 11. 20.

PostgreSQL에서 "wait event"는 주로 성능 모니터링 및 튜닝에서 사용되는 개념이다. 

이는 데이터베이스 시스템이 특정 이벤트를 완료할 때까지 대기하는 상태는 나타낸다.

PostgreSQL에서 대기 이벤트를 확인해서 현재 어떤 원인에 의해 이벤트가 발생하는지 확인할 수 있다.

 

PostgreSQL의 대기 이벤트를 조회하는 쿼리는 다음과 같다. 

SELECT pid, usename, application_name, query, state, wait_event_type, wait_event
FROM pg_stat_activity
WHERE wait_event is NOT NULL;

PostgreSQL 대기 이벤트는 Wait Event Type과 Wait Event로 구분된다. 

Wait Event Type이 상위 카테고리이고 Wait Event가 하위 카테고리라고 볼 수 있다.

우선 PostgreSQL의 Wait Event Type은 다음과 같다.

Wait Event Types
Wait Event Type 설명
Activity 서버 프로세스가 IDLE 상태이다. 이 이벤트 유형은 메인 프로세싱 Looping에서 활동을 기다리는 프로세스를 나타냄.
BufferPin 서버프로세스가 버퍼에 대한 액세스를 기다리고 있음을 나타냄.
 *만약 다른 프로세스가 해당 버퍼 데이터의 열린 커서를 보유하고 있는 경우 버퍼 핀 대기가 길어 질 수 있다.
Client 서버 프로세스가 사용자 애플리케이션에 연결된 소켓의 활동을 대기함. 
Extension 서버 프로세스가 확장 모듈에 정의된 일부 조건을 대기함.
IO 서버 프로세스가 I/O 작업이 완료되기를 대기함. 
IPC 서버 프로세스가 다른 서버 프로세스와의 상호 작용을 대기함.
Lock 서버 프로세스가 락(heavyweight)을 대기함. 주로 테이블과 같은 SQL Visible 객체를 보호함.
LWLock 서버 프로세스가 락(lightweight)을 대기함. 대부분 공유(Shared) 메모리의 특정 데이터 구조를 보호.
Timeout 서버 프로세스가 시간 초과가 만료되기를 대기함.

위에서 설명한 Wait Event Type은 각 타입마다 상세 대기 이벤트를 가진다.

Activity 대기이벤트
Activity 대기이벤트 설명 
ArchiverMain 아카이버 프로세스의 메인 루프에서 대기 중.
AutoVacuumMain autovacuum 실행 프로그램 프로세스의 메인 루프에서 대기 중.
BgWriterHibernate BgWriter 프로세스에서 대기 중. (최대 절전 모드)
BgWiterMain BgWriter 프로세스의 메인 루프에서 대기 중.
CheckpointerMain checkpointer 프로세스의 메인 루프에서 대기 중.
LogicalApplyMain 논리적 복제 적용 프로세스의 메인 루프에서 대기 중.
LogicalLauncherMain 논리적 복제 실행 프로그램 프로세스의 메인 루프에서 대기 중.
LogicalParallelApplyMain 논리적 복제 병렬 적용 프로세스의 메인 루프에서 대기 중.
RecoveryWalStream 스트리밍 복구 중에 WAL을 전송받을 때까지 시작(startup) 프로세스의 메인 루프에서 대기 중.
SysloggerMain syslogger 프로세스의 메인 루프에서 대기 중.
WalReceiverMain WAL Receiver 프로세스의 메인 루프에서 대기 중.
WalSenderMain WAL Sender 프로세스의 메인 루프에서 대기 중.
WalWriterMain WAL Writer 프로세스의 메인 루프에서 대기 중.
BufferPin 대기이벤트
BufferPin 대기이벤트 설명
BufferPin 버퍼 핀(Exclusive)을 얻기 위해 대기 중
Client 대기이벤트
Cleint 대기이벤트 설명
ClientRead 클라이언트에서 데이터 읽기를 대기 중.
ClientWrite 클라이언에 데이터 쓰기를 대기 중.
GSSOpenServer GSSAPI 세션을 설정하는 동안 클라이언트에서 데이터 읽기를 대기 중.
LibPQWalReceiverConnect WAL 수신기에서 원격 서버에 대한 연결을 대기 중.
LibPQWalReceiverReceive 원격 서버로부터 데이터를 수신하기 위해 WAL 수신기에서 대기 중.
SSLOpenServer 연결을 시도하는 동안 SSL을 대기 중.
WalSenderWaitForWAL WAL Sender 프로세스에서 WAL이 플러시 되기를 대기 중.
WalSenderWriteData WAL Receiver의 응답을 처리할 때 모든 활동을 WAL Sender 프로세스가 대기.
Extension 대기이벤트
Extension 대기이벤트 설명
Extension Extension을 대기
IO 대기이벤트

 

IO 대기이벤트 설명
BaseBackupRead 기본 백업이 파일에서 읽기를 기다리는 중
BaseBackupSync 기본 백업으로 작성된 데이터가 스토리지에 도달할 때까지 기다리는 중
BaseBackupWrite 기본 백업이 파일에 쓰기를 기다리는 중
BufFileRead 버퍼링된 파일에서 읽기를 기다리는 중
BufFileTruncate 버퍼링된 파일이 Truncated될 때까지 기다리는 중
BufFileWrite 버퍼링된 파일에 쓰기를 기다리는 중
ControlFileRead pg_control 파일 읽기를 기다리는 중
ControlFileSync pg_control 파일이 스토리지에 도달하기를 기다리는 중
ControlFileSyncUpdate pg_control 파일 업데이트가 스토리지에 도달하기를 기다리는 중
ControlFileWrite pg_control 파일에 쓰기를 기다리는 중
ControlFileWriteUpdate pg_control 파일을 업데이트 하기 위해 쓰기를 기다리는 중
CopyFileRead 파일 복사 작업 중 읽기를 기다리는 중
CopyFileWrite 파일 복사 작업 중 쓰기를 기다리는 중
DSMAllocate 동적 공유 메모리(dynamic shared memory) 세그먼트가 할당되기를 기다리는 중
DSMFillZeroWrite 동적 공유 메모리(dynamic shared memory) 백업 파일을 0으로 채우기를 기다리는 중
DataFileExtend 릴레이션 데이터 파일이 확장 되기를 기다리는 중
DataFileFlush 릴레이션 데이터 파일이 스토리지에 도달할때까지 기다리는 중
DataFileImmediateSync 릴레이션 데이터 파일이 스토리지에 즉시 동기화 되기를 기다리는 중
DataFilePrefetch 릴레이션 데이터 파일에서 비동기 프리페치를 기다리는 중
DataFileRead 릴레이션 데이터 파일에서 읽기를 기다리는 중
DataFileSync 릴레이션 데이터 파일의 변경 사항이 스토리지에 도달하기를 기다리는 중
DataFileTruncate 릴레이션 데이터 파일이 truncated 될때까지 기다리는 중
DataFileWrite 릴레이션 데이터 파일에 쓰기를 기다리는 중
LockFileAddToDataDirRead 데이터 디렉터리 락 파일에 라인을 추가하는 동안 읽기를 기다리는 중
LockFileAddToDataDirSync 데이터 디렉터리 락 파일에 라인을 추가하는 동안 데이터가 스토리지에  도달할때까지 기다리는 중
LockFileAddToDataDirWrite 데이터 디렉터리 락 파일에 라인을 추가하는 동안 쓰기를 기다리는 중
LockFileCreateRead 데이터 디렉터리 락 파일을 생성하는 동안 읽기를 기다리는 중
LockFileCreateSync 데이터 디렉터리 락 파일을 생성하는 동안 데이터가 스토리지에 도달할 때까지 기다리는 중
LockFileCreateWrite 데이터 디렉터리 락 파일을 생성하는 동안 쓰기를 기다리는 중
LockFileReCheckDataDirRead 데이터 디렉터리 락 파일을 다시 확인하는 동안 읽기를 기다리는 중
LogicalRewriteCheckpointSync 체크포인트 중에 논리적 재작성 매핑이 스토리지에 도달할 때까지 기다리는 중
LogicalRewriteMappingSync 논리적 재작성 중에 매핑 데이터가 스토리지에 도달할 때까지 기다리는 중
LogicalRewriteMappingWrite 논리적 재작성 중에 매핑 데이터 쓰기를 기다리는 중
LogicalRewriteSync 논리적 재작성 매핑이 스토리지에 도달할 때까지 기다리는 중
LogicalRewriteTruncate 논리적 재작성중에 데이터가 truncated 될 때까지 기다리는 중
LogicalRewriteWrite 논리적 재작성 매핑 쓰기를 기다리는 중
RelationMapRead 릴레이션 맵 파일의 읽기를 기다리는 중
RelationMapReplace 릴레이션 맵 파일의 지속적인 교체를 기다리는 중
RelationMapWrite 릴레이션 맵 파일에 쓰기를 기다리는 중
ReorderBufferRead 재정렬(reorder) 버퍼 관리 중 읽기를 기다리는 중
ReorderBufferWrite 재정렬(reorder) 버퍼 관리 중 쓰기를 기다리는 중
ReorderLogicalMappingRead 재정렬(reorder) 버퍼 관리 중 논리적 매핑 읽기를 기다리는 중
ReplicationSlotRead 복제 슬롯 제어 파일(replication slot control file)에서 읽기를 기다리는 중
ReplicationSlotRestoreSync 복제 슬롯 제어 파일( replication slot control file )을  메모리에서 복원하는 동안 스토리지에 도달 할 때까지 기다리는 중
ReplicationSlotSync 복제 슬롯 제어 파일( replication slot control file)이 스토리지에 도달할 때까지 기다리는 중
ReplicationSlotWrite 복제 슬롯 제어 파일( replication slot control file)에 대한 쓰기를 기다리는 중
SLRUFlushSync 체크포인트 또는 데이터베이스 종료 중에 SLRU 데이터가 스토리지에 도달할 때까지 기다리는 중
SLRURead SLRU 페이지 읽기를 기다리는 중
SLRUSync 페이지 쓰기 후 SLRU 데이터가 내구성 있는 스토리지에 도달할 때 까지 기다리는 중
SLRUWrite SLRU 페이지 쓰기를 기다리는 중
SnapbuildRead 직렬화된 기록 카탈로그 스냅샷( serialized historical catalog snapshot )읽기를 기다리는 중
SnapbuildSync 직렬화된 기록 카탈로그 스냅샷( serialized historical catalog snapshot)이 스토리지에 도달할 때까지 기다리는 중
SnapbuildWrite 직렬화된 기록 카탈로그 스냅샷( serialized historical catalog snapshot) 쓰기를 기다리는 중
TimelineHistoryFileSync 스트리밍 복제를 통해 수신된 타임라인 기록 파일이 스토리지에 도달할 때까지 기다리는 중
TimelineHistoryFileWrite 스트리밍 복제를 통해 수신된 타임라인 히스토리 파일의 쓰기를 기다리는 중
TimelineHistoryRead 타임라인 기록 파일 읽기를 기다리는 중
TimelineHistorySync 새로 생성된 타임라인 기록 파일이 스토리지에 도달하기를 기다리는 중
TimelineHistoryWrite 새로 생성된 타임라인 히스토리 파일의 쓰기를 기다리는 중
TwophaseFileRead 2단계 상태 파일 읽기를 기다리는 중
TwophaseFileSync 2단계 상태 파일이 스토리지에 도달할 때까지 기다리는 중
TwophaseFileWrite 2단계 상태 파일 쓰기를 기다리는 중
VersionFileWrite 데이터베이스를 생성하는 동안 버전 파일이 기록되기를 기다리는 중
WALBootstrapSync 부트스트래핑 중에 WAL이 스토리지에 도달할 때까지 기다리는 중
WALBootstrapWrite 부트스트래핑 중에 WAL 페이지 쓰기를 기다리는 중
WALCopyRead 기존 WAL 세그먼트를 복사하여 새 WAL 세그먼트를 생성할 때 읽기를 기다리는 중
WALCopySync 스토리지에 도달하기 위해 기존  WAL 세그먼트를 복사하여 생성된 새 WAL 세그먼트를 기다리는 중
WALCopyWrite 기존 WAL 세그먼트를 복사하여 새 WAL 세그먼트를 생성할 때 쓰기를 기다리는 중
WALInitSync 새로 초기화된 WAL 파일이 스토리지에 도달하기를 기다리는 중
WALInitWrite 새 WAL 파일을 초기화하는 동안 쓰기를 기다리는 중
WALRead WAL 파일에서 읽기를 기다리는 중
WALSenderTimelineHistoryRead walsender 타임라인 명령 중 타임라인 기록 파일에서 읽기를 기다리는 중
WALSync WAL 파일이 스토리지에 도달하기를 기다리는 중
WALSyncMethodAssign 새로운 WAL 동기화 방법을 할당하는 동안 데이터가 스토리지에 도달할 때 까지 기다리는 중 
WALWrite WAL 파일에 쓰기를 기다리는 중
IPC 대기이벤트
IPC 대기이벤트 설명
AppendReady Append  계획 노드의 하위 계획 노드가 준비되기를 기다리는 중 
ArchiveCleanupCommand archive_cleanup_command가 완료되기를 기다리는 중
ArchiveCommand archive_command가 완료되기를 기다리는 중
BackendTermination 다른 백엔드의 종료를 기다리는 중
BackupWaitWalArchive 백업이 성공적으로 아카이브 되는 데 필요한 WAL 파일을 기다리는 중
BgWorkerShutdown 백그라운드 작업자가 종료되기를 기다리는 중
BgWorkerStartup 백그라운드 작업자가 시작되기를 기다리는 중
BtreePage 병렬 B-트리 스캔을 계속하는 데 필요한 페이지 번호가 사용 가능해질 때까지 기다리는 중
BufferIO 버퍼 I/O가 완료되기를 기다리는 중
CheckpointDone 체크포인트가 완료되기를 기다리는 중
CheckpointStart 체크포인트가 시작되기를 기다리는 중
ExecuteGather Gather 플랜 노드를 실행하는 동안 하위 프로세스의 활동을 기다리는 중
HashBatchAllocate 선출된 병렬 해시 참가자가 해시 테이블이 할당되기를 기다리는 중
HashBatchElect 해시 테이블을 할당하기 위해 병렬 해시 참가자를 선출하기를 기다리는 중
HashBatchLoad 다른 병렬 해시 참가자가 해시 테이블 로드를 완료할 때 까지 디가리는 중
HashBuildAllocate 선출된 병렬 해시 참가자가 초기 해시 테이블을 할당하기를 기다리는 중
HashBuildElect 초기 해시 테이블을 할당하기 위해 병렬 해시 참가자를 선출하기를 기다리고 있음.
HashBuildHashInner 다른 병렬 해시 참가자가 이너 릴레이션 해싱을 완료할 때까지 기다리는 중
HashBuildHashOuter 다른 병렬 해시 참가자가 아우터 릴레이션 파티셔닝을 완료할 때까지 기다리는 중
HashGrowBatchesDecide 향후 배치 성장을 결정하기 위해 병렬 해시 참가자를 선출하기를 기다리고 있음.
HashGrowBatchesElect 더 많은 배치를 할당하기 위해 병렬 해시 참가자를 선출하기를 기다리고 있음
HashGrowBatchesFinish 선출된 병렬 해시 참가자가 향후 배치 처리 성장을 결정하기를 기다리고 있음
HashGrowBatchesReallocate 선출된 병렬 해시 참가자가 더 많은 배치를 할당하기를 기다리는 중
HashGrowBatchesRepartition 다른 병렬 해시 참가자가 다시 분할을 완료할 때까지 기다리는 중
HashGrowBucketsElect 더 많은 버킷을 할당하기 위해 병렬 해시 참가자를 선출하기를 기다리고 있음
HashGrowBucketsReallocate 선출된 병렬 해시 참가자가 더 많은 버킷 할당을 완료하기를 기다리고 있음
HashGrowBucketsReinsert 다른 병렬 해시 참가자가 새 버킷에 튜플 삽입을 완료할 때까지 기다리는 중
LogicalApplySendData 논리적 복제 리더 적용 프로세스가 데이터를 병렬 적용 프로세스로 보내기를 기다리는 중
LogicalParallelApplyStateChange 논리적 복제 병렬 적용 프로세스의 상태 변경을 기다리는 중
LogicalSyncData 논리적 복제 원격 서버가 초기 테이블 동기화를 위해 데이터를 보내기를 기다리는 중
LogicalSyncStateChange 논리적 복제 원격 서버의 상태가 변경되기를 기다리는 중
MessageQueueInternal 공유 메시지 대기열에 다른 프로세스가 연결되기를 기다리는 중
MessageQueuePutMessage 공유 메시지 큐에서 프로토콜 메시지 쓰기를 기다리는 중
MessageQueueReceive 공유 메시지 큐에서 바이트 수신을 기다리는 중
MessageQueueSend 공유 메시지 큐로 바이트 전송을 기다리는 중
ParallelBitmapScan 병렬 비트맵 스캔이 초기화되기를 기다리는 중
ParallelCreateIndexScan 병렬 CREATE INDEX 작업자가 힙 스캔을 완료할 때 까지 기다리는 중
ParallelFinish 병렬 작업자가 컴퓨팅을 마칠 때 까지 기다리는 중
ProcArrayGroupUpdate 병렬 작업이 끝날 때 그룹 리더가 트랜잭션 ID를 지우기를 기다리는 중
ProcSignalBarrier 모든 백엔드에서 장벽(barrier) 이벤트가 처리되기를 기다리는 중
Promote promote 준비를 기다리고 있음
RecoveryConflictSnapshot 베큠 클린업을 위한 복구 충돌 해결을 기다리는 중
RecoveryConflictTablespace 테이블스페이스 삭제에 대한 복구 충돌 해결을 기다리는 중
RecoveryEndCommand recovery_end_command가 완료되기를 기다리는 중
RecoveryPause 복구가 재개되기를 기다리는 중
ReplicationOriginDrop 복제 원본이 비활성화되어 삭제될 수 있기를 기다리는 중
ReplicationSlotDrop 복제 슬롯이 삭제될 수 잇도록 비활성화될 때까지 기다리는 중
RestoreCommand restore_command가 완료되기를 기다리는 중
SafeSnapshot READ ONLY DEFERABLE 트랜잭션에 대한 유효한 스냅샷을 얻기 위해 대기중
SyncRep 동기 복제(synchronous replication) 중에 원격 서버의 확인을 기다리는 중
WalReceiverExit WAL receiver가 종료되기를 기다리는 중
WalReceiverWaitStart 스트리밍 복제를 위한 초기 데이터를 보내기 위해 시작 프로세스를 기다리는 중
XactGroupUpdate 병렬 작업이 끝날 때 그룹 리더가 트랜잭션 상태를 업데이트 하기를 기다리는 중
Lock 대기이벤트
Lock 대기이벤트 설명
advisory advisory 락 획득을 기다리는 중
applytransaction 논리적 복제 이용자가 적용 중인 원격(remote) 트랜잭션에 대한 잠금 획득을 기다리는 중
extend 릴레이션 extension을 기다리고 있음.
frozenid pg_database.datfrozenxid 또는 pg_database.datminxid 업데이트를 기다리는 중
object non-relation 데이터베이스 개체에 대한 잠금 획득을 기다리는 중
page 릴레이션 페이지에서 잠금을 획득하기를 기다리는 중
relation 릴레이션에 대한 잠금을 획득하기를 기다리고 중
spectoken 추측성 (speculative) 삽입 락을 획득하기를 기다리는 중
trasactionid 트랜잭션이 완료되기를 기다리고 있음
tuple 튜플에 대한 락을 획득하기를 기다리고 있음
userlock 사용자 락 획득을 기다리는 중
virtualxid 가상 트랜잭션 ID 락 획득을 기다리는 중
LWLock 대기이벤트
LWLock  대기이벤트 설명
AddinShmemInit 공유 메모리에서 확장의 공간 할당을 관리하기 위해 대기 중
AutoFile postgresql.auto.conf 파일 업데이트를 기다리는 중
Autovacuum autovacuum 작업자의 현재 상태를 읽거나 업데이트하기를 기다리는 중
AutovacuumSchedule autovacuum을 위해 선택한 테이블에 여전히 vacuum이 필요한지 확인하기 위해 기다리는 중
BackgroundWorker 백그라운드 작업자 상태를 읽거나 업데이트 하기를 기다리는 중
BtreeVacuum b-트리 인덱스에 대한 베큠 관련 정보를 읽거나 업데이트하기를 기다리는 중
BufferContent 메모리의 데이터 페이지에 액세스하기를 기다리는 중
BufferMapping 데이터 블록을 버퍼 풀의 버퍼와 연결하기를 기다리는 중
CheckpointerComm fsync 요청 관리를 기다리는 중
CommitTs 트랜잭션 커밋 타임스탬프에 설정된 마지막 값을 읽거나 업데이트 하기를 기다리는 중
CommitTsBuffer 커밋 타임스탬프 SLRU 버퍼에서 I/O를 기다리는 중
CommitTsSLRU 커밋 타임스탬프 SLRU 캐시에 액세스 하기를 기다리는 중
ControlFile pg_control 파일을 읽거나 업데이트 하거나 새 WAL 파일을 생성하기를 기다리는 중
DynamicSharedMemoryControl 동적 공유 메모리 할당 정보를 읽거나 업데이트 하기를 기다리는 중
LockFastPath 프로세스의 빠른 경로 락 정보를 읽거나 업데이트 하기를 기다리는 중
LockManager "heavyweight" 락 장치에 대한 정보를 읽거나 업데이트 하기를 기다리는 중
LogicalRepLauncherDSA 논리적 복제 실행 프로그램의 동적 공유 메모리 할당자에 대한 액세스를 기다리는 중
LogicalRepLauncherHash 논리적 복제 실행 프로그램의 공유 해시 테이블에 대한 액세스를 기다리는 중
LogicalRepWorker 논리적 복제 작업자의 상태를 읽거나 업데이트 하기를 기다리는 중
MultiXactGen 공유 multixact 상태를 읽거나 업데이트 하기를 기다리는 중
MultiXactMemberBuffer multixact 멤버 SLRU 버퍼에서 I/O를 기다리는 중
MultiXactMemberSLRU multixact 멤버 SLRU 캐시에 액세스 하기를 기다리는 중
MultiXactOffsetBuffer multixact 오프셋 SLRU 버퍼에서 I/O를 기다리는 중
MultiXactOffsetSLRU multixact 오프셋 SLRU 캐시에서 액세스하기를 기다리는 중
MultiXactTruncation mulitxact 정보를 읽거나 자르기를 기다리는 중
NotifyBuffer NOTIFY 메시지 SLRU 버퍼에서 I/O를 기다리는 중
NotifyQueue NOTIFY 메시지를 읽거나 업데이트하기를 기다리는 중
NotifyQueueTail NOTIFY 메시지 저장 한도 업데이틑 기다리는 중
NotifySLRU NOTIFY 메시지 SLRU 캐시에 액세스 하는 중
OidGen 새 OID 할당을 기다리는 중
OldSnapshotTimeMap 이전 스냅샷 제어 정보를 읽거나 업데이트 하기를 기다리는 중
ParallelAppend 병렬 추가 계획 실행 중에 작업자 동기화를 기다리는 중
ParallelHashJoin 병렬 해시 조인 계획 실행 중에 작업자 동기화를 기다리는 중
ParallelQueryDSA 병렬 쿼리 동적 공유 메모리 할당을 기다리는 중
PerSessionDSA 병렬 쿼리 동적 공유 메모리 할당을 기다리는 중
PerSessionRecordType 복합 유형에 대한 병렬 쿼리 정보에 액세스하기를 기다리는 중
PerSessionRecordTypmod 복합 유형에대한 병렬 쿼리 정보에 액세스 하기를 기다리는 중
PerXactPredicateList 병렬 쿼리 중에 현재 직렬화 가능 트랜잭션이 보유한 predicate 락 목록에 액세스하기를 기다리는 중 
PgStatsData 공유 메모리 통계 데이터 액세스를 기다리는 중
PgStatsDSA 통계 동적 공유 메모리 할당자 액세스를 기다리는 중
PgStatsHash 통계 공유 메모리 해시 테이블 액세스를 기다리는 중
PredicateLockManager 직렬화 가능 트랜잭션에서 사용되는 predicate 락 정보를 액세스하기를 기다리는 중
ProcArray 공유된 프로세스 별 데이터 구조에 액세스하기 위해 대기 중 (일반적으로 스냅샷을 얻거나 세션의 트랜잭션ID를 보고하기 위함)
RelationMapping pg_filenode.map 파일 읽기 또는 업데이트를 기다리는 중 (특정 시스템 카탈로그의 파일 노드 할당을 추적하는 데 사용됨)
RelCacheInit pg_internal.init 릴레이션 캐시 초기화 파일을 읽거나 업데이트 중
ReplicationOrigin 복제 원본 생성, 삭제 또는 사용을 기다리는 중
ReplicationOriginState 하나의 복제 원본의 진행 상황을 읽거나 업데이트하기를 기다리는 중
ReplicationSlotAllocation 복제 슬롯 할당 또는 해제를 기다리는 중
ReplicationSlotControl 복제 슬롯 상태를 읽거나 업데이트 하기를 기다리는 중
ReplicationSlotIO 복제 슬롯에서 I/O를 기다리는 중
SerialBuffer 직렬화 가능 트랜잭션 충돌 SLRU 버퍼에서 I/O를 기다리는 중
SerializableFinishedList 완료된 직렬화 가능 트랜잭션 목록에 액세스하기를 기다리는 중
SerializablePredicateList 직렬화 가능 트랜잭션이 보유한 predicate 락 목록에 액세스하기를 기다리는 중
SerializableXactHash 직렬화 가능 트랜잭션에 대한 정보를 읽거나 업데이트 하기를 기다리는 중
SerialSLRU 직렬화 가능 트랜잭션 충돌 SLRU 캐시에 액세스 하는 중
SharedTidBitmap 병렬 비트맵 인덱스 스캔 중에 공유 TID 비트맵에 액세스 하기를 기다리는 중
SharedTupleStore 병렬 쿼리 중에 공유 튜플 저장소에 액세스하기를 기다리는 중
ShmemIndex 공유 메모리에서 공간을 찾거나 할당하기를 기다리는 중
SInvalRead 공유 카탈로그 무효화 큐에서 메시지 검색을 기다리는 중
SInvalWrite 공유 카탈로그 무효화 큐에서 메시지 추가를 기다리는 중
SubtransBuffer 하위 트랜잭션 SLRU 버퍼에서 I/O를 기다리는 중
SubtransSLRU 하위 트랜잭션 SLRU 캐시에 액세스 하기를 기다리는 중
SyncRep 동기 복제 상태에 대한 정보를 읽거나 업데이트하기를 기다리는 중
SyncScan 동기화 테이블 스캔 시작 위치를 선택을 기다리는 중
TablespaceCreate 테이블스페이스 생성 또는 삭제를 기다리는 중
TwoPhaseState 준비된 트랜잭션의 상태를 읽거나 업데이트 하기를 기다리는 중
WALBufMapping WAL 버퍼의 페이지 교체를 기다리는 중
WALInsert WAL 데이터를 메모리 버퍼에 삽입하기를 기다리는 중
WALWrite WAL 버퍼가 디스크에 기록되기를 기다리는 중
WrapLimitsVacuum 트랜잭션ID 및 multixact 소비에 대한 한도 업데이트를 기다리는 중
XactBuffer 트랜잭션 상태 SLRU 버퍼에서 I/O를 기다리는 중
XactSLRU 트랜잭션 상태 SLRU 캐시에 액세스 하는 중
XactTruncation pg_xact_status 사용 가능한 가장 오래된 트랜잭션ID를 실행하거나 업데이트 하기를 기다리는 중
XidGen 새 트랜잭션 ID 할당을 기다리는 중
Timeout 대기이벤트
Timeout 대기이벤트 설명
BaseBackupThrottle Throttling 활동을 할 때 기본 백업 중에 대기 중
CheckpointWriteDelay 체크포인트를 수행하는 동안 쓰기 사이에 대기 중
PgSleep pg_sleep 호출 또는 sibling 함수에 의해 대기 중
RecoveryApplyDelay 지연 설정으로 인해 복구 중에 WAL 적용을 기다리는 중
RecoveryRetrieveRetryInterval 어떤소스에서도 WAL 데이터를 사용할 수 없는 경우 복구 중에 대기 (pg_wal, archive 또는 stream)
RegisterSyncRequest 요청 큐가 가득차서 체크포인터로 동기화 요청을 보내는 동안 기다리는 중 
SpinDelay 경합 스핀락을 획득하는 동안 기다리는 중
VacuumDelay 비용 기반 베큠 지연 지점에서 대기 중
VacuumTruncate 베큠된 테이블 끝에 있는 빈 페이지를 잘라내기 위해 배타적(exclusive) 락을 획득하기를 기다리는 중
함께 보면 좋을 내용

댓글