PostgreSQL:バックアップ
バックアップ
データあってのデータベースですから、
データが壊れたり消えてしまっては困ります。
データを守る最も一般的な方法が
「バックアップ」を取る、です。
PostgreSQL では、専用のコマンドが用意されています。
PgAdmin を使えば、簡単に操作できます。
ファイルに保存:PgAdmin
手順は以下の通りです。
・バックアップしたいデータベース(sql_sample など)を選択。右クリック。
・[Backup...]
・開いたダイアログの [General] タグで、以下を入力します。
| [Filename]: |
ここで指定したファイルが生成されます。 |
| [Format]: |
[Custom] |
| [Compression ratio]: |
普通は何も書かなくて構いません。 |
| [Encoding]: |
UTF8 |
| [Role name]: |
バックアップを取るデータベースのロールを選択するのが一般的です。 |
・[Backup]
ファイルから復元:PgAdmin
手順は、
サンプル・プログラムのインストール、
<バックアップファイルをリストアする>で説明したのと同じです。
必要に応じて、
復元するデータベースと、バックアップしたファイル名を
選択すれば OK です。
PostgreSQL のデータは、多くのファイルで構成されていて、
複数のファイルが関連しながら更新されるため、
単にディレクトリ丸ごとコピー、では、上手くいきません。
PostgreSQL の作業途中状態でバックアップを取っても、
正しくリストアできないからです。
PostgreSQL は、バージョンによって、
データ形式が異なる場合があります。
17.x の x 部分(マイナーバージョン)だけが異なる場合は、大抵、大丈夫ですが、
17.x と 18.x のようなレベル(メジャーバージョン)では互換性が無いのが普通です。
メジャーバージョンアップの際にデータが使えないと困るので、
この解決にも、バックアップ・リストア機能を使います。
具体的には、
1. 元のバージョンで、Custom ではなく、Plain 形式でバックアップを取り、
2. バージョンアップした後、リストア
すれば OK です。
複数のデータベースをまとめてバックアップしたい場合は、
コマンドラインツール pg_dumpall.exe を使う方法もあります。
詳細は こちら を参照してください。
特別な対応が必要なこともあるので、
互換性については、
ホームページ の仕様書や、
Release Notes を参照してください。
"C:\Program Files\PostgreSQL\17\pgAdmin 4\runtime\pgAdmin4.exe"
で起動します。
[PostgreSQL 17] を右クリック。
「Properties...」、「Connection]タブの「Username」が、sql_sample であることを確認しておきます。
違えば、sql_sample に書き換えてください。