web-dev-qa-db-ja.com

pg_restoreを使用してPostgresのダンプバックアップファイルを復元できません

これを使用して、Postgres9.3.4のダンプバックアップファイルを生成しました。

pg_dump table_name -U myusername -h localhost -O > backup.dump

今、私は以下を使用して古いデータベースをバックアップしようとしています:

pg_restore -U myusername -n public -d table_name  backup.dump

しかし、私はこのエラーを受け取り続けます:

pg_restore: [archiver] input file appears to be a text format dump. Please use psql.

Pg_dumpを使用して生成したため、ファイルはプレーンSQLファイルではないことに注意してください。

私は次のコマンドを使用しました:

psql perchwell -U myusername -f backup.dump -v ON_ERROR_STOP=1

そして、次のエラーの受信を開始します。

SET
SET
SET
SET
SET
SET
psql:backup.dump:16: ERROR:  schema "propertydir" already exists
7
Eki Eqbal

Pg_dumpのデフォルトの出力形式は、実際にはプレーンテキストのSQLスクリプトです。したがって、インポートまたは再ダンプには-Fcフラグを使用してpsqlを使用します。

9
Eelke

バグ:pg_restore:[archiver]入力ファイルがテキスト形式のダンプのようです。 psqlを使用してください

バグは、psqlコマンドを使用してデータベースをインポートすることを示しています。

cat your-dump-pg-file.dump | psql -d your-database

このように、あなたは簡単にファイルを復元することができます

さらに、文字セットUTF-8を設定すると、インポートも改善されます。

0
Tejas Tank