2010-11-18 7 views
2

psqlを使用してPostgreSQLデータベースダンプを作成しました。新しいPostgreSQLデータベースを削除します

は、今私は、ファイルから、このバックアップをリストアしたい:

psql -d thesamename -f /my/backup/file 

しかし、私は、データがすでに存在していることをエラーが発生します。

ただ、状態を作成落下し、再び作成以外にそれを持って来るために、データベースからすべてを削除する任意のコマンドはありますか?
(私はオーナー、テーブルスペースなどをもう一度設定したくありません)

多分、バックアップファイルのものでデータベースを上書きする方法はありますか? (バックアップファイルが別のデータベースサーバからである)

+0

を使用することができますあなただけのTRUNCATEを使用する必要があるような音。 –

答えて

1

後は、データベースのpublicスキーマを削除し、それを再作成することができます:

DROP SCHEMA PUBLIC CASCADE; 
CREATE SCHEMA PUBLIC AUTHORIZATION postgres; 
GRANT ALL ON SCHEMA public TO public; 

はそれが役に立てば幸い

あなたはデータのみのダンプたいwant..andとして、あなたがそれを操作することができます...

1

をあなたはデータスキーマファイルを自動的に生成されますダンプを開始します。古いデータを削除する必要はありません。既存のデータ上の新しいデータと重複します。

あなたがより明確化のために、このリンクを介して行くことができる

..

http://www.postgresql.org/docs/8.4/interactive/app-pgdump.html

http://www.postgresql.org/docs/8.4/interactive/app-pgrestore.html

あなたは

GRANT ALL ON SCHEMA public TO public;

関連する問題