pgrun.dev
- - - we do the moving - - -

bring your database with you.

Standard migrations are included with every database. You see the exact plan before anything runs, your source keeps serving traffic the whole time, and most cutovers need only a brief window.

[01]

How it works

1. run discovery.sql — one read-only script
2. drop the file — report renders in your browser
3. read the plan — path, steps, downtime
4. we run it with you

The assessment checks extensions, replica identities, large tables, sequences, replication settings and more — fifteen checks — then recommends the exact migration path we'd use. Analysed on your machine; nothing is uploaded unless you choose to attach it.

[02]

Where you're coming from

Every source has its quirks. We've met them.

Heroku Postgres
No logical replication allowed — so it's a maintenance-window dump, or trigger-based sync run with our team.
AWS RDS / Aurora
Flip rds.logical_replication in the parameter group and the near-zero-downtime CDC path opens up.
Supabase
We map auth/storage schemas and extensions first, then migrate the parts that are actually yours.
Neon
Logical replication works; branch storage quirks show up in sizing, and the assessment accounts for them.
Google Cloud SQL
cloudsql.logical_decoding on, then CDC. The assessment confirms your instance is ready.
Self-hosted
You control wal_level, so every path is available — usually the fastest migrations of all.
[03]

The four paths

The assessment picks one of four migration paths from your database's actual facts — size, replication settings, replica identities:

pg_dump / pg_restore
One-shot copy in a maintenance window. Simplest; best for smaller databases or sources that don't allow replication.
native logical replication
Continuous sync, brief cutover. A good fit for smaller databases that are already replication-ready.
pgcopydb --follow
Parallel copy plus change streaming (CDC) — near-zero downtime regardless of size. Our default for most migrations.
remediate first, then CDC
Some tables lack a replica identity? We fix those first — with per-table instructions — then run the CDC path.

Whatever the path: sequences are synced at cutover, materialized views refreshed, and row counts verified before your application moves. Nothing is ever deleted from your source.

[04]

What it costs

Standard migrations are included with every database — planning and execution, no per-GB fee, no consultants. Unusually large or exotic setups get a plan and a straight answer before anything is committed.

[05]

Questions

Will my application have downtime?
Most migrations need only a brief cutover window. The exact shape depends on size, write volume, and what your current provider allows — the assessment characterises it for your database before anything runs.
What access do you need?
For a dump path: a connection string. For CDC paths: a replication user on the source. You create both, you revoke both, and the assessment itself needs neither — it runs on your side.
What about my extensions?
The assessment compares your installed extensions against what we ship, version by version. Gaps are flagged before migration, not discovered during it.
Can I run the migration myself?
Yes — the plan shows every step in standard tooling (pg_dump, logical replication, pgcopydb). Or drop pgrun.dev/migrate.md into your repo and your coding agent can run the whole migration from that one file, with hard safety rules built in. We're here when you'd rather not.
What happens if something goes wrong mid-migration?
Your source stays live and untouched until the moment you point your application at us — the copy runs alongside it. Worst case, you simply don't cut over.
run the free assessment >>

Rather talk it through first? No sales pitch — you get the person who runs the databases.