This guide helps you choose the best migration method based on your database size, downtime tolerance, source database type, and technical requirements.
Quick guidance
If you can't afford downtime, use Logical Replication. For Postgres databases under 10GB with some downtime flexibility, Import Data Assistant is the easiest option. For larger Postgres databases where downtime is acceptable, choose between pg_dump/restore (simplest) or pgcopydb (fastest).
Migration methods
| Method | Best For | Database Size | Downtime | Technical Skill | Key Benefit |
|---|---|---|---|---|---|
| Import Data Assistant | Quick Postgres migrations | Under 10GB | Minimal (minutes–hours) | Low | Easiest - fully automated |
| pg_dump/restore | Standard Postgres migrations | Any size | Required | Medium | Reliable and well-tested |
| pgcopydb | Large Postgres databases | 10GB+ | Required | Medium | Parallel processing - fast |
| Logical Replication | Production Postgres workloads | Any size | Near-zero | High | Minimal downtime |
| pgloader | Non-Postgres sources | Any size | Required | Medium | Handles MySQL, MSSQL, SQLite |
| AWS DMS | Multi-source or custom transformations | Any size | Minimal (minutes–hours) | High | Advanced transformation rules |
Provider-specific guides
For step-by-step instructions tailored to specific databases or providers, see MySQL, MSSQL, SQLite, Heroku, Supabase, Render, Azure, Digital Ocean, Firebase, or another Neon project.
Logical replication guides
For near-zero downtime Postgres database migrations using logical replication, see guides for AWS RDS, Google Cloud SQL, AlloyDB, Azure, Supabase, PostgreSQL, or Neon to Neon.
Other imports
- Import data from CSV — Import data from CSV files using psql
- Import sample data — Try Neon with sample datasets
- Migrate schema only — Migrate just the schema without data
Need help?
Join our Discord Server to ask questions or see what others are doing with Neon. For paid plan support options, see Support.








