7 hours ago
Hello Railway Team,
My n8n project on Railway stopped working after my plan payment lapsed for about a month. I upgraded my plan today (19 September 2026), and n8n is running again, but my workflows are missing. I get "Workflow not found" for workflow IDs that existed before, so the database appears to be empty or replaced.
Project ID: LWWU4RMrUOfNTcEY/73e89b
n8n URL: n8n-production-7ba3a.up.railway.app
My questions:
- Does the original Postgres volume for this project still exist?
- If it exists, can you help me reattach it or restore the data, so I can export my workflows?
- If it was deleted, is there any backup or snapshot from before the deletion that can be restored?
These workflows are important for my work, and I would be very grateful for any help. Please let me know if you need any more information from me.
Thank you,
Bolorsaikhan
boko3031
1 Replies
7 hours ago
This thread has been opened as a bounty so the community can help solve it.
Status changed to Open Railway • about 7 hours ago
3 hours ago
Don't panic just yet. There is a very good chance your data still exists. Railway does not immediately delete volumes when a payment lapses—volumes on paid/Hobby plans are typically retained in storage for up to 60 days after suspension.
Because your lapse was only about 1 month, here are the exact reasons why your workflows appear missing and how to recover them:
1. The #1 Cause: n8n Fell Back to SQLite (Postgres is Disconnected)
When n8n restarts or redeploys without a valid database connection, it does not crash—it silently falls back to an internal SQLite database in temporary container storage. This makes n8n look completely empty ("Workflow not found"), even though your PostgreSQL database and volume are completely intact.
How to verify & fix:
- In your Railway dashboard, open your n8n service.
- Go to Variables and verify the database configuration:
- Is
DB_TYPEset topostgresdb? - Are the Postgres variables connected (e.g.
DB_POSTGRESDB_HOST,DB_POSTGRESDB_DATABASE,DB_POSTGRESDB_USER,DB_POSTGRESDB_PASSWORD, orDATABASE_URL)? - If you see reference variables like
${{Postgres.DATABASE_URL}}, ensure the reference didn't break during the plan upgrade.
- Is
- Check the Deploy Logs of your n8n service right at startup:
- Look for a line stating:
Initializing n8n processfollowed byDB_TYPE: sqliteorDB_TYPE: postgresdb. If it says SQLite, n8n is not talking to your Postgres service.
- Look for a line stating:
2. Check for an "Orphaned" Volume in Your Project
When a plan is upgraded or a service re-initialized, Railway may have spawned a new volume while keeping your old volume safe in the background:
- Open your project canvas (
LWWU4RMrUOfNTcEY/73e89b). - Click on your Postgres service.
- Go to Settings > scroll to the Volumes section.
- Check the volume ID and mount path (
/var/lib/postgresql/data). - Look to see if there is an Unattached Volume or a second volume listed in your project. If your old volume is there, you can remount it or swap the volume mount to the original one.
3. Check Automated Volume Backups / Snapshots
Railway provides automated Copy-on-Write snapshots for volumes:
- Daily snapshots are kept for 6 days.
- Weekly snapshots are kept for 1 month.
- Monthly snapshots are kept for 3 months.
How to check:
- Click your Postgres service > go to the Backups tab (next to Metrics/Deployments).
- Look for any snapshots dated before your payment lapsed (~August 2026).
- If a snapshot exists, click Restore. Railway will restore that exact state to a new volume, and you can point your Postgres service to it.
4. Check Database Name & Tables Directly
If Postgres is running and attached:
-
Click on your Postgres service > go to the Data or Query tab in Railway (or connect via
psqlusing the public/private connection string). -
Check the databases: n8n sometimes initializes under database
railwayinstead ofn8n(or vice versa). -
Run this query to see if workflows exist in the database:
SELECT id, name, "createdAt" FROM workflow_entity;