Why Postgres wants NVMe on the hot path, and S3 everywhere else

TL;DR AI
2 min readKey summary
PostgreSQL needs NVMe-class low-latency storage on the hot path for commits and reads.
WAL flushes and frequent small random reads are performance-critical, so putting S3 directly in the fast path would increase latency.
S3 fits better as a colder, durability-focused storage tier than as a direct backend for latency-sensitive database I/O.
Managed Postgres systems typically put a fast local layer in front of object storage instead of exposing S3 directly.



