FreeBSD 13.0 RELEASE - postgreSQL - バックアップとリストア

 クラウディア
1. 概要
2. バックアップ
3. リストア

1. 概要

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

2. バックアップ

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

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

3. リストア

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

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