web-dev-qa-db-ja.com

既存のpgデータベースに復元するより良い方法

既存の9.3 pgデータベースに復元したいと考えています。私たちがやったことは:

1) delete the database and recreate again, 
2) use pg_restore to restore. 
3) reboot the ubuntu server to allow Rails app to pick up the new database. 

次のpg_restoreコマンドを試したところ、既存のデータベースに復元されませんでした。

$pg_restore --dbname=existing_database --verbose /home/myname/dbbackup.backup

Pg_restoreの後、existing_databaseに変更はありませんでした。最初に削除せずに既存のpgデータベースに復元できるコマンドはありますか?コマンドラインを使用する必要があります。どうもありがとう。

6
user938363

表示したコマンドは問題ありません。

pg_restore -d target_database /path/to/the/backup.dbbackup

おそらく、復元中にエラーが発生しましたが、表示されませんでした。おそらく、復元を実行するための適切な権限を持っていないユーザーIDで実行していました。

ターゲットデータベースに値のデータがないことが確実な場合(次のコマンドで削除されます)を試してください。

Sudo -u postgres pg_restore --create --clean -d postgres /path/to/dbbackup.sql

問題がある場合は、質問の編集で出力を投稿してから、ここにコメントしてください。

また、サーバーを再起動する必要はありません。最大で、Railsアプリケーションを再起動する必要があります。通常、これはApacheの再起動を意味しますが、Railsの実行方法によって多少異なります。サーバー全体を再起動する必要はまったくありません。

7
Craig Ringer