データベースdump
MonetDB
- dumpコマンドはないが、データベース作成時に圧縮CSVを直接bulk loadすることができる。
- bz2形式に対応
PostgreSQL
カスタム形式(圧縮あり)
pg_dump -U postgres -d postgres -Fc --schema=***<スキーマ名> > ***.dump<ダンプファイル名>
- ダンプファイルを作成するフォルダで実行するのが楽(ダンプファイル名にパス名を入れなくてよいので。)
リストア
pg_restore -U postgres -d postgres --schema=***<スキーマ名> ***.dump
- あらかじめ、リストアするスキーマを作成(CREATE SCEHMA)しないとエラー
平文ダンプ
PostgreSQL → MySQL にデータ移行する場合等
pg_dump --schema-only --no-owner --no-privileges --disable-dollar-quoting --schema=***<スキーマ名> postgres > pg-schema.sql pg_dump --data-only --no-owner --no-privileges --disable-dollar-quoting --column-inserts --schema=***<スキーマ名> postgres > pg-data.sql
スキーマ定義ファイルの修正
- PostgreSQL特有の命令文が含まれるので削除する。
- ColumnStoreに移すのであれば、Constraintも削除
- 余裕があればデータ型の変更
MySQL
平文形式
mysqldump -u root -h localhost --password=********** ~~~ > <ダンプファイル名>
InnoDBの場合
mysqldump --single-transaction -u root -h localhost --password=********** ~~~ > <ダンプファイル名>
- 出力後は7zip等で適宜圧縮
データベース内からリストア
mysql> set sql_log_bin=OFF; ※バイナリログをOFFにすることで高速化 mysql> use <リストア対象スキーマ名>; mysql> source <ダンプファイル名>; ※全databases の復元もこれでOK