FreeBSD 10.4 RELEASE - postgreSQL - バックアップ/リストア
インストール時の話と前後しますが、「PostgreSQL」をバージョンアップする際、メジャーのバージョンアップを行うと以前のデータベースへアクセスできなくなることがあります。
ということでバージョンアップを行う際は、データベース全体をバックアップしておき、新バージョンのインストール、「initdb」を行った後にバックアップしたものをリストアすることによってデータベースの移行を行います。
- 1. バックアップ
- 2. リストア
1. バックアップ
「PortgreSQL」にデフォルトでインストールされる、「pg_dumpall」というアプリケーションを使用します。
ちなみに全バックアップでなく、テーブルごとであれば、「pg_dump」というアプリケーションが存在します。
全バックアップをとる際は、作成するディレクトリに移動して
pg_dumpall --column-inserts --username=postgres > ファイル名
とすれば、ファイル名のテキストファイルが作成されます。
これで、すべてのロールやデータベースをバックアップすることができます。
2. リストア
リストアは、「psql」で行います。
前項で作成したダンプファイルをリストアするには
psql --username=postgres --file ファイル名 postgres
とやります。
バックアップ等は定期的に行わないと(わたしはこれを怠ったために痛い目にあいました)不測の事態が発生した時に取り返しのつかないことになります。
一連の動作を行うためにわたしは Makefile をつくって処理しています。
サンプルとして使用できるかどうかわかりませんが、どうぞ(右クリックでダウンロードできます)
「Makefile」
|
|