【PostgreSQL】dumpファイルを使ってリストアしよう!

データベース

みなさんこんにちは、現役エンジニアのサメハックです

未経験からWebエンジニアに転職し、
正社員として5年働いたのちフリーランスとして独立しました。

PostgreSQLの解説シリーズです。

今回はdumpファイルを使ってリストアする方法について学んでいきましょう!

駆け出しエンジニアや未経験の方、
また新入社員を指導する先輩社員にとっても
わかりやすいように解説していきます!

この記事を読むと・・・
  • dumpファイルを使ってリストアができる

基本的にPostgreSQLを想定して記述しています。
環境構築がまだの方は下の記事を参考に環境構築してください。

WindowsにPostgreSQLをインストールしてPATHを通そう!
PATHの通し方と併せて解説しているよ!

リストアとは

リストアとはバックアップしたデータなどを元に、
データベースを元の状態に復元するプロセスを指します。

今回は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フォローしてもらえると嬉しいです🦈

タイトルとURLをコピーしました