Data transfer
Data transfer copies tables, views, procedures and functions from one database to another — including between different engines. MySQL to PostgreSQL, SQLite to SQL Server, production to a local copy.
Open it from Tools → Data Transfer, or right-click a database and choose Data Transfer.
The wizard
1. Source and target
Pick a connection and database on each side. NabuSQL shows the connection type, name, host, port and server version for both, so you can confirm you are pointed where you think you are.
2. Select objects
The object tree groups everything into Tables, Views and Functions / Procedures. Tick what you want to move.
Highlight a single table to configure it individually: its target object name, and its mode — Auto (structure and records) or DDL only (structure, no data).
3. Options
Table options
| Option | Effect |
|---|---|
| Create tables | Create the target tables. Turn off when they already exist |
| Include indexes | Recreate indexes |
| Include default values | Carry column defaults over |
| Include foreign key constraints | Recreate FK constraints |
| Include engine/table type | MySQL engine, e.g. InnoDB |
| Include character set | Carry the charset over |
| Include auto increment | Keep auto-increment columns |
| Include triggers | Copy triggers too |
| Drop target objects before create | Drop what is there first |
Record options
| Option | Effect |
|---|---|
| Create records | Copy the rows, not just the structure |
| Use transaction | Wrap the transfer so a failure rolls back |
| Use extended insert statements | Multi-row INSERTs — considerably faster |
| Continue on error | Keep going past failing rows instead of stopping |
| Batch size | Rows per batch |
Other
- Create target database if not exists — creates the database when it is missing.
4. Run
Progress is shown per phase — creating schema, then copying — and per object. The result is Transfer complete, Completed with errors with the list, or an error.
Profiles
Save Profile stores the whole configuration — source, target, object selection and options. Load Profile brings it back. Worth doing for any transfer you run more than once, such as refreshing a development database from production.
Cross-engine notes
Moving between engines means types are mapped, not copied. Check the result when the source uses engine-specific types — MySQL ENUM, PostgreSQL arrays, SQL Server UNIQUEIDENTIFIER.
Procedures and functions are copied as source text. SQL dialects differ between engines, so a routine that works on MySQL will often need editing after landing on PostgreSQL. Tables and views are the parts that travel cleanly.
Start with a dry run
For a first transfer between unfamiliar servers, select one table, set DDL only, and run it. You will see how the types map before committing to a full copy.
Related
- Backup and restore — same server, file in the middle.
- Comparing structure and data — check the two sides match afterwards.
