バックアップ

PostgreSQLの代表的なバックアップツールとしては次の2つがある。
・pg_dump … データベース毎のバックアップ
・pg_dumpall … データベースクラスタ(全データベース)のバックアップ

pg_dump -U ユーザー名 データベース名 > ファイル名
pg_dumpall -U ユーザー名 > ファイル名

両コマンドとも標準出力にバックアップ対象を再構築するためのSQLを出力する。
上記例はそれをリダイレクトでファイルに出力している。
よって、リストアするには次のようにコマンドを実行する。

psql -f ファイル名 データベース名 ユーザー名

以降、コマンドプロンプトから実行

  1. セーブ

    > pg_dump -U postgres oddtbs > oddtbs.dump
    Password: himitu
    
  2. バックアップ用のデータベース作成

    > createdb -U oduser backup
    Password: himitu
    
  3. リストア

    > psql -f oddtbs.dump backup oduser
    Password for user oduser: himitu
    ....
    
  4. ログインして確認

    > psql backup oduser
    Password for user oduser: himitu
    Welcome to psql 8.3.7, the PostgreSQL interactive terminal.
    
    Type:  \copyright for distribution terms
           \h for help with SQL commands
           \? for help with psql commands
    ...