Top >
PostgreSQL > PostgreSQLのバックアップとリストア
PostgreSQLのバックアップとリストア
PostgreSQLのバックアップとリストアについて紹介します。
1.はじめに
仕事でPostgreSQLを使う機会があり、あるDBのデータを他のDBに移行する作業を行うことになったのですが、バックアップとリストアの具体的な方法がわからず色々調べました。
ただ、調べたサイトによっては掲載されているコマンドパラメータがまちまちで、またそのまま利用するとリストアでエラーになったりしてつまづきました。
ということで、できるだけ簡単にバックアップとリストアが行える方法を紹介します。
PostgreSQLのバックアップとリストアの方法はいくつかありますが、次のいずれかで行います。
2.バックアップとリストア(その1)
ひとつはプレーンテキスト(SQL文)でバックアップする方法です。
$ pg_dump DB名 > foo.sql
pg_dumpはPostgreSQLデータベースをバックアップするユーティリティです。
この場合、リストアは次のように行います。
$ psql -f foo.sql
psqlはPostgreSQLの対話型コマンドです。
"-f"を付与することで、ファイルをコマンドのソースとして使用します。
3.バックアップとリストア(その2)
もうひとつの方法はバックアップをアーカイブ形式で取得し、それをリストアします。
$ pg_dump -Fc DB名 > foo.custom
"-Fc"はカスタム形式で出力するためのオプションです。"-Ft"とすればtar形式でバックアップできます。
$ pg_dump -Ft DB名 > foo.tar
このバックアップからのリストアは次のように行います。
$ pg_restore -C -d DB名 foo.custom
$ pg_restore -C -d DB名 foo.tar
pg_restoreはアーカイブ形式のバックアップからリストアするためのコマンドです。
"-C"オプションはリストア前にデータベースを作成するときに付与します。
DBがすでに存在している場合、"-C"は不要です。
$ pg_restore -d DB名 foo.custom
Posted by yujiro このページの先頭に戻る
- LinuxにPostgreSQLをインストールする方法
- pg_ctlで「データベースクラスタのディレクトリではありません」というエラーになる場合の対処
- PostgreSQLをLinuxでソースコードからビルドして利用する方法
- PostgreSQLで「could not connect to server」となる場合の対処
- PostgreSQLの初期化からデータベース接続まで
トラックバックURL
コメントする
greeting