Migrate your database, one screen at a time.
The whole move happens in the console - no CLI, no agents. Here is exactly what you will see at each step, from pasting your connection string to going live.
You need two things
A Swyftstack account and your source database's connection string. That's it - keep the string handy, you'll paste it in Step 2.
A standard libpq URI: postgresql://user:password@host:5432/dbname. Grab it from your current provider's dashboard (each provider guide shows the exact menu path).
The import never touches your source, but the final cutover restarts your app. Pick a low-traffic time so the ~30-second env-var swap is invisible to users.
Open your project and start an import
In the console, open a project, go to Databases, and choose Import an existing database.
Paste your source connection string
Swyftstack connects read-only to your source to read its schema and data. You can name the new database and pick where it lives.
Watch the import run
Dump, restore, and verify happen automatically with standard PostgreSQL tools. A live progress bar shows the current phase - you never have to guess.
Every byte is verified
Before you get a URL, tables, row counts, indexes, sequences, and extensions are checked end-to-end with checksums. A green check means the copy matches your source.
Swap one variable to go live
Copy the new connection string, drop it into your app's DATABASE_URL, and redeploy. Your old database is still running - if anything looks off, point the variable back. That's your rollback.
Migration guide FAQ
Is my source database ever modified?
No. We connect to your source read-only and copy out of it with standard PostgreSQL tools. Nothing is written back. Until you swap your app's connection string, your old database keeps serving all traffic.
How long does the import take?
Under 5 GB is usually 2-5 minutes; 5-50 GB is 10-45 minutes. You watch a live progress bar the whole time, so you always know where it is.
What if a step fails?
The import stops and tells you why - your source database is untouched and you can retry or email us. Most failures are a missing role or an unusual extension we resolve quickly.
Do I need the CLI or any agent?
No. Everything in this guide happens in the console in your browser. There is no CLI to install and no agent to run on your servers.
Can I roll back after cutover?
Yes - rollback is doing nothing. Because your old database is still live, if the new one looks wrong you just point your DATABASE_URL back and restart. Delete the old database only once the new one has run clean for a few days.
Ready when you are - free until you switch.
Paste a connection string, watch the verified import, copy your new URL. Nothing changes on your source until you decide it should.