3 months ago
Hi Railway Support,
I'm experiencing a complete database connection failure on my project since today (Apr 21, 2026). My n8n service cannot connect to Postgres at all.
Project ID: ebac28ac-fc75-457b-9bb2-7225831d805c
Affected services:
- n8n service ID: 23d90301-23e4-4831-98be-af8bc4445a85
- Postgres service ID: eea7b4b6-1776-448a-a342-0607e3265062
- Region: us-east4-eqdc4a
Errors from n8n Deploy Logs (repeating every few seconds since ~07:50 GMT+7):
- Database connection timed out
- timeout exceeded when trying to connect
- Failed to hard-delete executions
Both services show status Online, and Postgres logs show only normal checkpoint activity — no errors on the database side itself.
I noticed the banner on Railway dashboard: "Degraded volume performance in EU-West" — I believe this incident is the root cause, as the n8n service cannot reach the Postgres volume.
Could you confirm whether this incident is affecting my services, and provide an ETA for resolution?
Thank you.
1 Replies
Status changed to Open Railway • 3 months ago
a month ago
I would not treat the EU-West volume banner as the primary explanation here. The services you listed are in us-east4-eqdc4a, not EU-West. Also, volume degradation would normally show up as slow or erroring Postgres I/O inside the Postgres service; your symptom is n8n timing out while opening a client connection, with Postgres only showing checkpoints.
The first thing I would verify is the n8n DB environment. n8n defaults to SQLite and for Postgres expects explicit variables like:
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=${{Postgres.PGHOST}}
DB_POSTGRESDB_PORT=${{Postgres.PGPORT}}
DB_POSTGRESDB_DATABASE=${{Postgres.PGDATABASE}}
DB_POSTGRESDB_USER=${{Postgres.PGUSER}}
DB_POSTGRESDB_PASSWORD=${{Postgres.PGPASSWORD}}
Make sure the host is the Railway internal host for the Postgres service, not localhost, and not a stale public TCP proxy host or port unless you intentionally want the public proxy path. Railway private networking expects services in the same project and environment to resolve SERVICE_NAME.railway.internal; Railway Postgres exposes PGHOST and PGPORT for this.
Quick isolation path:
- Redeploy n8n after fixing variables.
- Restart Postgres once if the service has been up since the incident banner appeared.
- If it still times out, run a TCP-only test from the n8n container to the exact host and port in
DB_POSTGRESDB_HOSTandDB_POSTGRESDB_PORT. - If TCP connects but n8n still fails, raise
DB_POSTGRESDB_CONNECTION_TIMEOUTtemporarily and check Postgres connection count or pool size.
If Railway support needs to verify platform state, the useful evidence is not the EU-West banner but: resolved host, target port, n8n region, Postgres region, and whether a raw TCP connect from n8n to Postgres succeeds. That will separate private-network, DNS, or env problems from a database volume incident.