データベースは日々データに変化が発生しますので、毎日ある時点で定期的にバックアップする必要が出てきます。
バックアップ・リストアは pgAdmin を使えば簡単にできます。 しかし、定期的なバックアップ作業はバッチ処理とし、サーバのスケジューラで起動することが一般的だと思います。
Windows上のPostgreSQLのバックアップについて、コマンドプロンプトから行う方法を説明します。 尚、このコマンドはPostgreSQLサーバーの稼動しているマシンで実行することが前提になります。
■全データベースのバックアップ
pg_dump --format=t --file=bakup.dmp --username=postgres test
対象となるデータベースは test で、出力されるファイル名を bakup.dmp とし、ファイル形式はテキストで生成します。
データベースへのユーザ名は postgres で、これはPostgreSQLを最初に導入したときのAdminのユーザです。 このコマンドにはパスワードの指定がありませんが、pgAdminでログインし、パスワードの保存をしてあれば指定が必要ありません。
(エディタで %APPDATA%\postgresql\pgpass.conf にパスワードを登録してもOKです)
pg_dumpのコマンドですが、「pg_dump --HELP」と指定すれば、コマンドの一覧が表示されます。 多くのコマンドが表示されますが、中で使用すると言えば、テーブルの指定ぐらいでしょうか。
■データベースの内のあるテーブルのバックアップ
pg_dump --format=t --file=bakup.dmp --username=postgres --table=table1 test
全データベースのバックアップに --table=table1 のコマンドを付加し table1 のテーブルをバックアップします。