FreeBSD 10.3 RELEASE - postgreSQL - バックアップ/リストア

 クラウディア
 インストール時の話と前後しますが、PostgreSQL をバージョンアップする際、メジャーのバージョンアップを行うと以前のデータベースへアクセスできなくなることがあります。  ということでバージョンアップを行う際は、データベース全体をバックアップしておき、新バージョンのインストール後 initdb を行った後にバックアップしたものをリストアすることによってデータベースの移行を行います。
1. バックアップ
2. リストア

1. バックアップ

 PortgreSQL デフォルトでインストールされる、pg_dumpall というアプリケーションを使用します。ちなみに全バックアップでなく、テーブルごとであれば pg_dump というアプリケーションが存在します。  全バックアップをとる際は、作成するディレクトリに移動して

pg_dumpall --column-inserts --username=pgsql > ファイル名
 とすれば、ファイル名のテキストファイルが作成されます。  これで、すべてのロールやデータベースをバックアップすることができます。

2. リストア

 リストアは psql で行います。  前項で作成したダンプファイルをリストアするには

psql --username=pgsql --file ファイル名 postgres
 とやります。  バックアップ等は定期的に行わないと(わたしはこれを怠ったために痛い目にあいました)不測の事態が発生した時に取り返しのつかないことになります。  一連の動作を行うためにわたしは Makefile をつくって処理しています。  サンプルとして使用できるかどうかわかりませんが、どうぞ(右クリックでダウンロードできます)
Makefile