This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

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