バックアップ/リストア

pg_dump によるバックアップ・リストアを行います。

これらの作業を行うためにはメインメニューから「バックアップ/リストア」を選択します。

1 バックアップ

サーバ・データベース・テーブルの単位でバックアップを取得します。

  1. サブメニューにある「バックアップ」をクリックします。

    ↓

  2. バックアップ情報を入力します。

    画面イメージ

    1. 『出力ファイル』を入力/選択します。
      ディレクトリが存在していれば、既に存在するファイルであっても構いません(上書きされます)。
      相対パスで入力した場合は、Windows では インストール先ディレクトリの中の admin ディレクトリに、Linuxでは管理ツールを起動しているディレクトリに保存されます。
    2. 出力する単位によってそれぞれ入力します。
      • サーバ単位でバックアップを取る場合は、『対象データベース』、『対象テーブル』を空欄のままにしておきます。
      • データベース単位でバックアップを取る場合は、『対象データベース』に入力し、『対象テーブル』を空欄のままにしておきます。
      • テーブル単位でバックアップを取る場合は、『対象データベース』、『対象テーブル』に入力します。
    3. 必要に応じて『データベース作成文を含める』にチェックをいれます。データベースのみのバックアップかつ出力形式がテキスト (SQL) の場合のみ有効です。
    4. 『データとスキーマ』から出力するものを選択します。
    5. 『出力形式』を選択します。

      データベースを指定せずサーバ単位のバックアップを取る場合は、どれを選択しても必ずテキスト形式(SQL)で出力されます。

    6. 『ダンプデータ形式』を選択します。

    ↓

  3. 『バックアップを作成』ボタンをクリックします。

2 リストア

「バックアップ」で取得したバックアップファイルを用いてリストアを行います。

  1. サブメニューにある「リストア」をクリックします。

    ↓

  2. リストア情報を入力します。

    画面イメージ

    1. 『バックアップファイル』に、管理ツールの「バックアップ」で作成したファイルを入力/選択します。

      『データ情報の表示』ボタンをクリックすると、tar形式・pgz形式のものであれば、情報が表示されます。

    2. データベースを指定します。

      データベースクラスタ単位でバックアップしたファイルをリストアする際は、データベースクラスタの初期化直後の、データベースが作成されていない状態で行います。データベースが存在する状態で行うと、データベース名が衝突して失敗します。

    ↓

  3. 『リストアを実行』ボタンをクリックします。

3スケジュール

スケジュールを登録

OSの機能を用いて、バックアップのスケジューリングを行います。指定した時刻で、毎日バックアップを行ったり、曜日を指定してバックアップを取ることが可能です。

  1. サブメニューにある「バックアップ」をクリックします。

    ↓

  2. スケジュールするバックアップの情報を入力して、『バックアップ設定を保存』ボタンをクリックします。 (入力方法は、「1.バックアップ」の2を参照してください。)

    画面イメージ

    ? ヒント

    出力ファイル名を固定すると、バックアップの度に毎回上書きされます。世代管理を行いたい場合は、ファイル名にコマンドや環境変数を利用すると便利です。

    Linuxではコマンド『date』、Windowsでは環境変数『%DATE%』などがお勧めです。

    例) 年月日をファイル名にして、毎日バックアップする(Windowsの場合)
    『出力ファイル』に入力した値
    backup-%date:~-10,4%%date:~-5,2%%date:~-2,2%

    例) 年月日をファイル名にして、毎日バックアップする(Linuxの場合)
    『出力ファイル』に入力した値
    backup-`date "+%Y%m%d"`

    実際に作成されるファイル名は以下のようになります。
    backup-20081205, backup-20081206

    ↓

  3. 設定ファイルの出力先を入力して、バックアップの設定ファイルを作成します。

    ! ファイル名の注意

    Windowsでは、ファイルの拡張子を『.bat』にして保存して下さい。指定の拡張子をつけないとバックアップが実行されません。

    ↓

  4. サブメニューにある「スケジュール」をクリックします。

    ↓

  5. 『追加』ボタンをクリックします。

    画面イメージ

    ↓

  6. スケジュールの内容を入力します。

    画面イメージ

    1. バックアップ頻度を指定します。
      • 毎日バックアップしたい場合は、『毎日』を選択して下さい。
      • 曜日でバックアップしたい場合は、『曜日指定』を選択してから『月』〜『金』にチェックをいれて下さい。曜日は複数指定できます。
    2. 時刻を入力します。以下の範囲で指定して下さい。
      時: 0 〜 23
      分: 0 〜 59

      (注)範囲を超えた値を入力した場合は、自動的に最大値/最小値に修正されます。
    3. 『バックアップ設定ファイル』の『選択』ボタンをクリックして、3で作成したバックアップの設定ファイルを選んで下さい。

    ↓

  7. 『適用』ボタンをクリックします。

    ↓

  8. (Windowsの場合のみ)
    バックアップを実行するユーザを指定します。

    画面イメージ

    ↓

  9. スケジュールが追加されます。(スケジュールの一覧にすぐに反映されない場合は、『表示を更新』をクリックしてください。)

    ↓

  10. スケジュールで指定した時刻になると、バックアップが開始されます。
  11. ! 認証設定の注意

    PowerGres の認証設定は、デフォルトで MD5 となっているため、そのままではスケジュールバックアップが実行されません。そのため、 localhostからの接続を認証なし(trust)に変更してしまうか、パスワードファイルを利用する必要があります。

    ・localhostからの接続をtrustにする
    バックアップ設定の内容に合わせて、 『接続認証』の確認と変更を行って下さい。

    画面イメージ


    ・パスワードファイルを利用する
    接続認証に必要なパスワードを接続情報に応じて、パスワードファイルにあらかじめ記述しておくことができます。

    hostname:port:database:username:password

    先頭の4フィールドはそれぞれリテラル値にすることも、あるいは全てに一致する * を使用することもできます。 複数行記述した場合には、上の行から判定し最初に現在の接続パラメータと一致した行のパスワードが使用されます。
    項目として : または \ を入力する場合は、\ でこれらの文字をエスケープする必要があります。
    localhost ホスト名は、ローカルマシンからの TCP 接続(ホスト名がlocalhost)と Unix ドメインソケット接続の両方に一致します。

    (Windowsの場合)
    実行する Windows ユーザのアプリケーションデータディレクトリ以下に postgresql\pgpass.conf を上記の書式で配置してください。

    (Linuxの場合)
    実行する Linux ユーザのホームディレクトリに .pgpass を配置、または PGPASSFILE で指定したパスに上記の書式で配置してください。
    .pgpass の権限はグループ、他への全てのアクセスを拒否しなければなりません。 これは chmod 0600 ~/.pgpass といったコマンドによって行ってください。

スケジュールを削除

登録されたスケジュールを削除することができます。

  1. サブメニューにある「スケジュール」をクリックします。

    ↓

  2. 削除したいスケジュールを選択して、『削除』をクリックします。スケジュールが削除されます。
    (スケジュールの一覧にすぐに反映されない場合は、『表示を更新』をクリックして下さい。)

    画面イメージ

  3. ! アンインストール時の注意

    登録されたスケジュールは、PowerGresをアンインストールしても自動的に削除されません。上記の手順で削除して下さい。