おれおれバックアップ&リストア PostgreSQL編

PostgreSQLのバックアップとリストア。すぐ忘れるのでメモ。そして、細かいことは知らん。
バックアップには「pg_dump」コマンド、リストアには「pg_restore」コマンドを利用する。

  1. バックアップ対象DB:sample_production

バックアップ

pg_dump sample_production -b -o -Fc > /tmp/sample_production.`date '+%Y%m%d%H%M%S'
  • Fcオプションは、pg_restoreでリストアするのに都合のよいフォーマットにしてくれるらしい。

リファレンス:http://www.postgresql.jp/document/pg836doc/html/app-pgdump.html

リストア

すでに同じDBが存在する場合-cオプションをつけて実行
pg_restore -c -d sample_production sample_production.20090402050001
  • cオプションはいったんデータベースオブジェクトを削除してくれるっぽい。
DBがない場合は、先にDBを作ったあと、-cオプションなしで実行
pg_restore -d sample_production sample_production.20090402050001

リファレンス:http://www.postgresql.jp/document/pg836doc/html/app-pgrestore.html