Migrate

Learn how to migrate data from other systems to Piglet Run.

Overview

Piglet Run supports migration from:

  • Other PostgreSQL: Migrate from existing PostgreSQL instances
  • MySQL/MariaDB: Convert and migrate from MySQL
  • Cloud Databases: AWS RDS, Google Cloud SQL, Azure Database
  • Files: Import from SQL dumps or CSV files

Quick Migration

Migrate from another PostgreSQL:

pig migrate postgres://user:pass@source-host/dbname

Migrate from PostgreSQL

Direct Connection

pig migrate pg \
  --host source.example.com \
  --port 5432 \
  --user migrate_user \
  --database production

From pg_dump File

pig migrate import backup.sql

Schema Only

pig migrate pg --host source.example.com --schema-only

Migrate from MySQL

Direct Migration

pig migrate mysql \
  --host mysql.example.com \
  --user migrate_user \
  --database myapp

With Type Mapping

pig migrate mysql --host source --type-map mysql-to-pg.yml

Migrate from Cloud

AWS RDS

pig migrate rds \
  --instance mydb-instance \
  --region us-west-2 \
  --profile aws-profile

Google Cloud SQL

pig migrate cloudsql \
  --instance myproject:region:instance \
  --credentials /path/to/credentials.json

Import Files

SQL Dump

pig migrate import dump.sql --database mydb

CSV Files

pig migrate csv data.csv --table users --database mydb

Multiple CSV Files

pig migrate csv ./data/ --database mydb

Migration Options

OptionDescription
--schema-onlyMigrate structure only
--data-onlyMigrate data only
--no-ownerSkip ownership
--parallel NParallel jobs
--exclude TABLEExclude tables

Verification

Verify migration:

pig migrate verify --source postgres://source/db --target postgres://target/db

Next Steps