WordPress・WEB系の開発(プログラム)関係や技術情報ほか、技術情報全般を掲載

  • このエントリーをはてなブックマークに追加

PostgreSQL pg_dumpallコマンドでデータベース全体をダンプする

データベースを別のサーバへ移設するなど、ダンプが必要なケースはよくある。
そんなときに便利なコマンドに「pg_dumpall」がある。「pg_dumpall」は「pg_dumpl」と違い
データベースに含まれる各DBはもちろんユーザ情報、ロールなどの情報も含めて全体をダンプすることが出来る

下記、ダンプとリストアの例です( PostgreSQLのバージョンは 8.4.9 )

### ダンプ
$ sudo -u postgres pgsql/bin/pg_dumpall -c --column-inserts > dumpall_2014062501.dump
### リストア
$ sudo -u postgres pgsql/bin/psql -f dumpall_2014062501.dump

▼pg_dumpallのオプション説明:
-c
データベースを再作成するコマンドの前に、データベースのクリーンアップ(削除)するコマンドを書き出します。 ロールおよびテーブル空間用のDROPコマンドも同様に追加されます。

–column-inserts
明示的に列名を付けたINSERTコマンド(INSERT INTO table (column, …) VALUES…)としてダンプします。 これによりリストアは非常に遅くなります。 主に、PostgreSQL以外のデータベースにロードで可能なダンプを作成する時に有用です。

※pg_dumpallとデータベースサーバのバージョンの不一致を無視しする「-i」オプションもつけてダンプする予定だったが、PostgreSQL 8.4 では廃止されたようです。つけても無視される。

【PR】名古屋市中区なびnet by ショップナビ

関連記事

コメントは利用できません。

アーカイブ