People keep trying to collapse two very different storage jobs into one. S3 is durable, cheap, and effectively bottomless, so the temptation is obvious: why not use it for everything?
The hard part of running Postgres isn’t storing lots of bytes. The hard part is surviving the moments when the database has to stop and wait.
For a durable commit, Postgres must flush the WAL before it can tell the client that the transaction is complete. That flush happens in XLogFlush(), and the backend blocks until the kernel says the write is…

![[CITYPNG.COM]White Google Play PlayStore Logo – 1500×1500](https://startupnews.fyi/wp-content/uploads/2025/08/CITYPNG.COMWhite-Google-Play-PlayStore-Logo-1500x1500-1-630x630.png)