【PostgreSQL】Windowsでpg_dumpとpg_restoreの実行方法

2021年2月9日PostgreSQLその他

pg_dumpでバックアップをする

バックアップをするためには、pg_dump.exeを使用します。

-- バックアップをする
pg_dump -U ユーザー名 -f バックアップファイルのフルパス -Fc データベース名

 

実際のバックアップコマンド例を紹介します。

-- 1.pg_dump.exeのあるフォルダまでcdコマンドで移動する
cd C:\Program Files\PostgreSQL\bin

-- 2.pg_dumpの実行
-- バックアップファイルのフルパスは""でくくる。拡張子は「.backup」
pg_dump -U postgres -f "C:\test\db.backup" -Fc testdb

 

 

 

 

pg_restoreでDBを復元(=リストア)する

バックアップファイルからDBをリストアをするためには、pg_restore.exeを使用します。

-- 1.あらかじめ作っておいた空のデータベースにリストアする
-- バックアップファイルのフルパスは""でくくる。
pg_restore -U postgres -d データベース名 "バックアップファイルパス" 

-- 2.リストアと同時にデータベースを作成する(作られるDB名はバックアップと同じ)
pg_restore -U ユーザー名 -C -d postgres "バックアップファイルパス"

 

・1.はあらかじめ作成しておいたDBに対してリストアをする構文です。

『-d』でDBを指定していますが、指定するDBがなけばエラーが発生します。

 

・2.はDBがない場合で、バックアップで取得したDB名が作成されます。

※『-C』『-d』は『新規に指定したDB名でリストアする』で、DB名は指定できません。