LoginSignup
2
3

More than 5 years have passed since last update.

PostgreSQLを使ってDBのバックアップ&リストア

Last updated at Posted at 2016-06-13

目的

  • seedなどを使ってマスタを構築するのだが、そのseedが正しく動くかを確認するために、以下の作業を繰り返したい

    1. DBのダンプ
    2. seedスクリプト、データの登録
    3. データの確認
    4. DBのリストア
    5. スクリプト、データの修正(2に戻る)
  • ダンプ、リストアの手順をまとめる

  • また、テーブルのみの場合の手順も一緒にまとめておく

手順(フル)

  • ダンプ

    $ PGPASSWORD=password pg_dump -U user -d database > ~/dump/dumpfile.sql
    
  • リストア

    $ # database削除
    $ PGPASSWORD=password dropdb -U user database
    $ # database作成
    $ PGPASSWORD=password createdb -U user database
    $ # リストア
    $ PGPASSWORD=password psql -U user database < ~/dump/dumpfile.sql
    

手順(テーブルのみ)

  • テーブルのみダンプ

    $ PGPASSWORD=password pg_dump -U user -d database -t table > ~/dump/tablefile.sql
    
  • テーブルのみリストア

    SQL> # table削除
    SQL> DROP TABLE `table_name`
    
    $ # リストア
    $ PGPASSWORD=password psql -U user database < ~/dump/tablefile.sql
    

注意

  • 当然ですが、スキーマが変わってると、Rails等のmigrateの状態がおかしくなるので、気をつけましょう。
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3