Move a PostgreSQL or MySQL database anywhere
DBMigratePro moves databases and keeps backups you own. Paste a source connection URL and a
target connection URL; the data is streamed from one to the other with foreign keys preserved
and row counts compared against the source before the run is reported as successful. Point a
schedule at a database instead and you get encrypted backups in object storage you control,
restorable to any database on any host.
Nothing is installed on your database server, there is no size limit, and a migration that
fails is never charged. Drive it from the browser, the REST API, or an AI agent over MCP.
Supported directions — same engine and cross engine, both first class
- PostgreSQL → PostgreSQL. Provider to provider, cloud to cloud, region to region, or onto
your own server. Nothing is translated: it is a same-engine copy, and it is the cheaper of
the two rates.
- MySQL → MySQL. The same, for MySQL and MariaDB-compatible servers.
- MySQL → PostgreSQL. Cross-engine conversion, with column types mapped and constraints
rebuilt on the target.
- PostgreSQL → MySQL. The same in reverse.
MySQL and PostgreSQL only. SQLite, MongoDB and Microsoft Access are asked for often and are on
the roadmap; they are not supported today.
A migration is one source to one target, and the whole database comes across. There is no way
to merge several source databases into one target, and no way to exclude specific tables.
How the data flows
A migration goes straight from your source to your target. The engine opens a connection to
each and streams rows between them in bounded batches. Nothing is staged on disk, no
intermediate database is involved, and no copy of your rows is retained afterwards. There is
nothing in the middle except the process holding both connections open.
A backup is compressed and encrypted before it leaves the machine that made it, then
uploaded to object storage. If you bring your own S3-compatible bucket, the backup data is
written into your cloud account and never enters ours.
A restore streams the object back into a target connection URL you supply, decrypting on the
way. Restores are always free and are never metered.
What it costs
Migrations are charged per GB of data moved and only when a run succeeds. Same-engine transfers
are $2 per GB. Cross-engine conversions are $4 per GB, because there is more
work to do. Backups are $2.50 per GB of source per month. Restores are free. Your first
migration is free under 1 GB. Full detail at https://dev.dbmigratepro.com/pricing.
Security and data handling, in short
Database connection URLs are stored for backup schedules — encrypted at rest and never
logged — because an unattended overnight backup needs standing access with nobody there to
paste a password. One-time migration URLs are not kept: they are purged automatically about an
hour after a successful run. Backups are encrypted with a key minted per run. Bring your own
bucket and the data never enters an account we control.
We hold no SOC 2 report and no other compliance certification, and there is no point-in-time
recovery. Those gaps are stated on the security page rather than left for you to discover:
https://dev.dbmigratepro.com/security.
Where to read more