# IO (The Sigh) ![[wl_io.png|256]] When you see an IO wait event, the elephant is in "The Sigh" mode. He is completely still, standing by the elevator, waiting for a [[Page]] to be brought up from the frozen basement ([[Disk IO]]). He cannot continue his work until he has that data in his hand. This is the most common performance bottleneck in Postgres, as the gap between the speed of the elephant's brain ([[Memory]]) and the speed of the basement elevator ([[Disk IO]]) is measured in years of "Elephant Time." Every event below represents the elephant waiting for a specific part of the filing cabinet to respond. ![[BaseBackupRead]] ![[BaseBackupSync]] ![[BaseBackupWrite]] ![[BufFileRead]] ![[BufFileTruncate]] ![[BufFileWrite]] ![[ControlFileRead]] ![[ControlFileSync]] ![[ControlFileSyncUpdate]] ![[ControlFileWrite]] ![[ControlFileWriteUpdate]] ![[CopyFileRead]] ![[CopyFileWrite]] ![[DSMAllocate]] ![[DSMFillZeroWrite]] ![[DataFileExtend]] ![[DataFileFlush]] ![[DataFileImmediateSync]] ![[DataFilePrefetch]] ![[DataFileRead]] ![[DataFileSync]] ![[DataFileTruncate]] ![[DataFileWrite]] ![[LockFileAddToDataDirRead]] ![[LockFileAddToDataDirSync]] ![[LockFileAddToDataDirWrite]] ![[LockFileCreateRead]] ![[LockFileCreateSync]] ![[LockFileCreateWrite]] ![[LockFileReCheckDataDirRead]] ![[LogicalRewriteCheckpointSync]] ![[LogicalRewriteMappingSync]] ![[LogicalRewriteMappingWrite]] ![[LogicalRewriteSync]] ![[LogicalRewriteTruncate]] ![[LogicalRewriteWrite]] ![[RelationMapRead]] ![[RelationMapReplace]] ![[RelationMapWrite]] ![[ReorderBufferRead]] ![[ReorderBufferWrite]] ![[ReorderLogicalMappingRead]] ![[ReplicationSlotRead]] ![[ReplicationSlotRestoreSync]] ![[ReplicationSlotSync]] ![[ReplicationSlotWrite]] ![[SLRUFlushSync]] ![[SLRURead]] ![[SLRUSync]] ![[SLRUWrite]] ![[SnapbuildRead]] ![[SnapbuildSync]] ![[SnapbuildWrite]] ![[TimelineHistoryFileSync]] ![[TimelineHistoryFileWrite]] ![[TimelineHistoryRead]] ![[TimelineHistorySync]] ![[TimelineHistoryWrite]] ![[TwophaseFileRead]] ![[TwophaseFileSync]] ![[TwophaseFileWrite]] ![[VersionFileSync]] ![[VersionFileWrite]] ![[WALBootstrapSync]] ![[WALBootstrapWrite]] ![[WALCopyRead]] ![[WALCopySync]] ![[WALCopyWrite]] ![[WALInitSync]] ![[WALInitWrite]] ![[WALRead]] ![[WALSenderTimelineHistoryRead]] ![[WALSync]] ![[WALSyncMethodAssign]] ![[WALWrite]] ### MultiXact ![[MultiXactMemberBuffer]] ![[MultiXactMemberSLRU]] ![[MultiXactOffsetBuffer]] ![[MultiXactOffsetSLRU]] ![[MultiXactTruncation]] ### Notify ![[NotifyBuffer]] ![[NotifyQueue]] ![[NotifyQueueTail]] ![[NotifySLRU]]