【PostgreSQL】「pgAdmin 4」バックアップ・リストア

pgAdmin 4 によるバックアップとリストア

データベースは、何らかの障害に備えて定期的にバックアップを取っておく必要があり、障害発生時にはそのバックアップを利用してデータベースを復旧します。pgAdmin 4にもサーバー単位やデータベース・テーブル単位にバックアップ/リストアの機能があります。

pgAdmin 4 データベースのバックアップ

バックアップするデータべースを右クリックし「バックアップ」を選択すると、バックアップダイアログボックスが表示されます。



バックアップダイアログボックスの各項目に値を入力します。

1.General

●ファイル名:バックアップで作成される「ファイル」名称

●形式

  • 「平文」 —- SQLスクリプトとして保存されます。psqlコマンドで復元可能。
  • 「カスタム」 —- PostgreSQLの独自形式として保存されます。
  • 「Tar」 —- tarアーカイブ形式で保存され、pg_restoreをで復元可能です。
  • 「ディレクトリ」—- バックアップをディレクトリとして保存します。

●ロール名:バックアップ操作を実行するロール(ユーザー)を指定しますが、バックアップ対象に対する適切な権限が必要です。



入力が終了したら「バックアップ」ボタンをクリックしてバックアップファイルを作成します。



2.バックアップファイルの内容

 バックアップファイルの内容は「平文」でバックアップした場合「SQL Script」になっています。



pgAdmin 4 データベースのリストア

バックアップしたデータベースを右クリックしてリストアを選択し、リストアダイアログボックスを表示します。ファイル形式は「カスタム、または Tar」「ディレクトリ」しか選べません。従って、「平文]でバックアップしたファイルは説明どうり「psql」コマンドでリストアします。

バックアップデータには、「太郎」「花子」「次郎」の3レコードがあります。リストアする前に現在のデータから「次郎」を削除しておきます。リストアした後に「次郎」データが復活する事を確認する為です。



リストアするコマンドは、以下のようになります。

psql -U postgres -d test_db -f "h:\testbkup.sql"

リストアを実行する前に以下の項目を実施してください。

  • psql.exeはあらかじめPATHを通しておく。
  • リストアする前に「test_db」を一旦削除し、再度作成する。



「psql」は、コマンドプロンプトで実行します。「psql」実行直後「postgres」のパスワード入力要求がありますので正しいパスワードを入力してください。



リストアの結果を、pgAdmin 4 で確認してみます。リストア後には「次郎」のデータが復元されています。

 

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