【でーたべーすだんぷ】
データベースダンプ とは?
最終更新:
💡 データベースの中身をファイルにドバッと書き出す!
データベースの構造とデータをファイルに書き出す操作のこと。バックアップや環境構築、データ移行などに使われ、pg_dumpやmysqldumpなどのコマンドで実行する。
📌 このページのポイント
データベースダンプってバックアップと何が違うの?
具体的にはどうやるの?
PostgreSQLなら pg_dump mydb > backup.sql、MySQLなら mysqldump mydb > backup.sql というコマンドだよ。テキスト形式で出すと、テーブルを作るCREATE TABLE文やデータを入れる文がファイルに並ぶんだ
復元はどうやるの?
開発環境の構築にも使うんだね!
もっと詳しく知りたい人へ
サービスを動かしたままダンプしても大丈夫?
pg_dumpは、使用中のデータベースでも処理開始時点で一貫した内容を書き出せるよ。MySQLのInnoDBテーブルなら、mysqldumpに --single-transaction を付けると、テーブルをロックせずに一貫したスナップショットを取れる。ただし負荷はかかるので、大きなDBでは実行する時間帯に注意しよう。
カスタム形式のダンプをpsqlで戻せないのはなぜ?
pg_dumpのカスタム形式(-Fc)やディレクトリ形式(-Fd)はSQL文のテキストではなく専用のアーカイブなので、pg_restoreで復元するんだ。psqlで流し込めるのはプレーンテキスト形式(既定)のダンプだけだよ。
まとめ:ざっくりこれだけ覚えればOK!
「データベースダンプ」って出てきたら「DBの中身をファイルに書き出す操作」と思えればだいたいOK!
📖 おまけ:英語の意味
「Database Dump」 = データベースの書き出し
💬 dump(ドサッと降ろす)という意味で、データベースの中身をファイルにどさっと出すイメージだよ