server closed the connection unexpectedly — This probably means the server terminated abnormally before or while processing the request.
The connection to PostgreSQL dropped — the server restarted/crashed, a proxy/firewall killed an idle connection, or the backend was terminated.
Seen on:
PostgreSQL
Meaning
Check the PostgreSQL log at that time: OOM kills, crashes and restarts appear there. Otherwise idle connections were cut by NAT/load balancers.
Common causes
- Server restart or crash (OOM)
- Idle connection killed by firewall/NAT/proxy
- pg_terminate_backend by an admin
- Network interruption
⚡ Quick fix
- Check the PostgreSQL log
- Enable TCP keepalives / pool health checks (pre-ping)
- Reconnect and retry idempotent work
Detailed fix by platform
PostgreSQL
keepalives_idle=60in the connection string, orpool_pre_ping=Truein SQLAlchemy
How to diagnose
- Server log — Restart/crash at that time?
- Idle — Was the connection idle long?
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 2 Oct 2026