みなさんこんにちは、現役エンジニアのサメハックです
未経験からWebエンジニアに転職し、
正社員として5年働いたのちフリーランスとして独立しました。
PostgreSQLの解説シリーズです。
今回はdumpファイルを使ってリストアする方法について学んでいきましょう!
駆け出しエンジニアや未経験の方、
また新入社員を指導する先輩社員にとっても
わかりやすいように解説していきます!
この記事を読むと・・・
- dumpファイルを使ってリストアができる
基本的にPostgreSQLを想定して記述しています。
環境構築がまだの方は下の記事を参考に環境構築してください。
WindowsにPostgreSQLをインストールしてPATHを通そう!
PATHの通し方と併せて解説しているよ!
リストアとは
リストアとはバックアップしたデータなどを元に、
データベースを元の状態に復元するプロセスを指します。
今回はdumpファイルをリストアするよ!
dumpについて復習したい人は次の記事を参考にしてね!
dumpについて復習したい人は次の記事を参考にしてね!
【PostgreSQL】dumpファイルを作ろう!【DB単位, SCHEMA単位, TABLE単位】
リストアの構文
pg_restore -h ホスト名 -p ポート番号 -U ユーザー名 -d データベース名 -v dumpファイルのパス
これでdumpファイルを使ってリストアできるよ!
テーブルをリストアする
dumpファイルを作成
pg_dump -h ホスト名 -p ポート番号 -U ユーザー名 -d データベース名 -n スキーマ名 -t テーブル名 -F c -f ダンプファイル名.dump
dumpファイルを使ってリストア
pg_restore -h ホスト名 -p ポート番号 -U ユーザー名 -d データベース名 -v dumpファイルのパス
例
# テーブルのダンプを取得
pg_dump -h localhost -p 5432 -U myuser -d mydatabase -n スキーマ名 -t mytable -F c -f mytable_dump.dump
# テーブルをリストア
pg_restore -h localhost -p 5432 -U myuser -d mydatabase -v mytable_dump.dump
これで指定したテーブルのデータをリストアすることができるよ!
スキーマをリストアする
dumpファイルを作成
pg_dump -h ホスト名 -p ポート番号 -U ユーザー名 -d データベース名 -n スキーマ名 -F c -f ダンプファイル名.dump
dumpファイルを使ってリストア
pg_restore -h ホスト名 -p ポート番号 -U ユーザー名 -d データベース名 -v dumpファイルのパス
例
# テーブルのダンプを取得
pg_dump -h localhost -p 5432 -U myuser -d mydatabase -n スキーマ名 -t mytable -F c -f mytable_dump.dump
# テーブルをリストア
pg_restore -h localhost -p 5432 -U myuser -d mydatabase -v mytable_dump.dump
これで指定したスキーマのデータをリストアすることができるよ!
DBをリストアする
dumpファイルを作成
pg_dump -h ホスト名 -p ポート番号 -U ユーザー名 -d データベース名 -F c -f ダンプファイル名.dump
dumpファイルを使ってリストア
pg_restore -h ホスト名 -p ポート番号 -U ユーザー名 -d データベース名 -v dumpファイルのパス
例
# テーブルのダンプを取得
pg_dump -h localhost -p 5432 -U myuser -d mydatabase -F c -f mytable_dump.dump
# テーブルをリストア
pg_restore -h localhost -p 5432 -U myuser -d mydatabase -v mytable_dump.dump
これで指定したDBのデータをリストアすることができるよ!
まとめ
- リストアすると、バックアップしたDBの状態に戻すことができる
- リストアするコマンドは、テーブル・スキーマ・DBすべて同じ
満足いただけたら、1クリックなのでSNSフォローしてもらえると嬉しいです🦈