「pg_restore」は、「pg_dump」によって生成されたファイルを復元するためのものです。
マニュアルページから
<ブロック引用>pg_restore は、pg_dump(1) によって非プレーンテキスト形式のいずれかで作成されたアーカイブから PostgreSQL データベースを復元するためのユーティリティです。
https://www.postgresql.org/docs/9.2/static/app-pgrestore.html
ファイルが pg_dump によって生成された場合、少なくともどのデータベースにダンプするかを指定する必要があります:
pg_restore -d my_new_database temp.sql
さまざまなフレーバーでの pg_restore に関する私自身の経験から、ダンプ ファイルが「ネイティブ」形式であっても、形式を検出することがマンページに示されているにもかかわらず、何度もダンプ ファイルの形式を指定する必要があることがわかります。
pg_restore -d my_new_database -Fc temp.dump
これは推測にすぎませんが、データベースを指定せずにテーブルが実際に復元された場合、デフォルトのデータベースにダンプされたと考えています。これは、「postgres」データベースのテーブルを一覧表示することで確認できます (存在しないはずです)。
postgres=#\c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#\dt
No relations found.
テーブルがデフォルトのデータベースに復元された場合、リストに表示されます。
プレーン テキストの SQL ファイルは別の方法で処理する必要があり、通常は psql を使用して SQL コマンドを介して実行されます。
psql -d my_database < temp.sql
次のようなデータベース バックアップを生成したとします。
pg_dump -a --inserts databasename > exportfilename.sql
次のようにファイルを復元してみてください:
psql databasename -f exportfilename.sql
Postgre pg_restore
上記のように、 dump
でのみ使用することを意図しています ファイル、そのように復元することはできません。 postgres.org の公式 Web サイトでこの回答を確認してください
基本的に、あなたはしません pg_restore
を使用 sql
で ファイル --->https://www.postgresql.org/message-id/AANLkTi%3DAqmWrUR4f8%2BEfCHZP%2BQrL1%3DunRLZp_jX7SoqF%40mail.gmail.com