# 6.1 The Sound of Silence
Imagine you are watching a construction site. There are workers everywhere, but for long stretches of time, nothing is happening. One worker is leaning on a shovel. Another is sitting on a brick pile. A third is staring at a closed gate.
In Postgres, these workers are our **[[Chapter 3/3.3 - The Soldiers|Soldiers]]**. Each one has a tiny, invisible stopwatch around their neck.
## What is a Wait Event?
A **Wait Event** is a record of time where a soldier *wanted* to work but *couldn't*.
Postgres tracks hundreds of different reasons for waiting. It is the most precise way to find the "bottleneck" in your system. Instead of guessing why a query is slow, you look at the stopwatches. If 90% of the stopwatches are labeled "Waiting for Elevator," then you know that your Disk IO (Chapter 5) is the problem.
## The Three Families of Frustration
Most wait events fall into one of three categories:
1. **Waiting for the World (I/O)**: The soldier is waiting for data to travel from the basement (Disk) or across the ocean (Network).
2. **Waiting for a Colleague (Locks)**: The soldier is waiting for another process to finish with a row, a page, or a table.
3. **Waiting for the System (Latches/CPU)**: The soldier is waiting for a internal resource, like a spot on the CPU or a lock on a shared memory buffer.
By learning to read these events, you stop being a developer who "guesses" and start being a detective who "knows."
---
[[Chapter 6/6.0 - The Waiting Game|← 6.0 - The Waiting Game]] | [[Chapter 6/6.0 - The Waiting Game|↑ 6.0 - The Waiting Game]] | [[Chapter 6/6.2 - Disk Wait|6.2 - Disk Wait →]]