【PostgreSQL】dumpファイルを作ろう!【DB単位, SCHEMA単位, TABLE単位】

データベース

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

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

PostgreSQLの解説シリーズです。

今回はWindowsでPostgreSQLのdumpファイルの作り方について学んでいきましょう!

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

この記事を読むと・・・
  • dumpファイルを作成することができる

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

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

dumpファイルについて

そもそもdumpファイルとは

ダンプファイルとは、通常はデータベースやファイルシステムなどの情報を
.dumpで出力・生成されるファイルのことを指します。

DB単位、スキーマ単位、テーブル単位など任意の単位でデータ出力できるよ!

dumpファイルの使い道

  • DBのバックアップ
  • DBのリストア
  • DBのクローン作成
実際の業務では、開発環境用のクローンを作成することが多いよ!

dumpファイルを作ってみよう!

DB単位でdumpしよう

pg_dump  -h ホスト名 -p ポート番号 -U ユーザー名 -d 既存のデータベース名 -F c -f ダンプファイル名.dump

-h  : ホスト
-p  : ポート番号※デフォルトは5432
-U  : ユーザー名
-d  : データベース名
-F c : ダンプ形式の指定。c はカスタム形式を意味します。他にも t(テキスト形式)、d(ディレクトリ形式)などがあります。
-f  : ダンプデータを保存するファイルの指定

これにより、指定したデータベースのスキーマとデータが 出力ファイル名.dump に保存されます。

【例】

pg_dump -h localhost -p 5432 -U myuser -d mydatabase -F c -f mydatabase_dump.dump
これでDB単位でdumpファイルが作成出来たよ!
pg_dumpが通らない場合には環境構築用の記事を参考にPATHを通してね!

スキーマ単位でdumpしよう

pg_dump  -h ホスト名 -p ポート番号 -U ユーザー名 -d 既存のデータベース名 -n スキーマ名 -F c -f ダンプファイル名.dump

-h  : ホスト
-p  : ポート番号※デフォルトは5432
-U  : ユーザー名
-d  : データベース名
-n  : スキーマ名
-F c : ダンプ形式の指定。c はカスタム形式を意味します。他にも t(テキスト形式)、d(ディレクトリ形式)などがあります。
-f  : ダンプデータを保存するファイルの指定

これにより、指定したデータベースのスキーマとデータが 出力ファイル名.dump に保存されます。

【例】

pg_dump -h localhost -p 5432 -U myuser -d mydatabase -n myschema -F c -f myschema_dump.dump
これでスキーマ単位でdumpファイルが作成出来たよ!
pg_dumpが通らない場合には環境構築用の記事を参考にPATHを通してね!

テーブル単位でdumpしよう

pg_dump  -h ホスト名 -p ポート番号 -U ユーザー名 -d 既存のデータベース名 -n スキーマ名 -t テーブル名 -F c -f ダンプファイル名.dump

-h  : ホスト
-p  : ポート番号※デフォルトは5432
-U  : ユーザー名
-d  : データベース名
-n  : スキーマ名
-t  : テーブル名
-F c : ダンプ形式の指定。c はカスタム形式を意味します。他にも t(テキスト形式)、d(ディレクトリ形式)などがあります。
-f  : ダンプデータを保存するファイルの指定

これにより、指定したデータベースのスキーマとデータが 出力ファイル名.dump に保存されます。

【例】

pg_dump -h localhost -p 5432 -U myuser -d mydatabase -n myschema -t mytable -F c -f mytable_dump.dump
これでテーブル単位でdumpファイルが作成出来たよ!
pg_dumpが通らない場合には環境構築用の記事を参考にPATHを通してね!

まとめ

  • dumpファイルとはDBの設定やデータをエクスポートしたファイル
  • バックアップ、リストア、クローン作成等に使用される
  • pg_dumpコマンドを使用する
dumpしたデータをリストアしたいひとは次の記事を参考にしてね!
【PostgreSQL】dumpファイルを使ってリストアしよう!

満足いただけたら、1クリックなのでSNSフォローしてもらえると嬉しいです🦈

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