私はpsqlの新人です。サーバーのdata.dumpファイルから取得しました。ローカルに復元する必要があります。私はこれらのコマンドを試しました。
i)psql -U postgres dbname -f servicedb.dump
Error:
psql: warning: extra command-line argument "-f" ignored
psql: warning: extra command-line argument "servicedb.dump" ignored
ii)psql -U postgres dbname <servicedb.dump
Error:
^
ERROR: syntaxe error at or near "☺"
LINE 1: ☺☺
この「.dump」ファイルとは何ですか?それを復元する方法は?
サーバー(Heroku)から.dumpファイルを取得しました。クラウスが言ったように、pg_restoreはローカルで復元できる唯一の方法です。
私の端末に書いたのは:
pg_restore -c -d [database_name] [dumpfile_name].dump
Pg_restoreのKlausリンクに表示されるオプションがたくさんあります:)
psql -f filenamed.dmp db_name
正常に動作します
Postgres 9.2の場合
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U [user] -d [db] [filename].dump
pg_restore コマンドをご覧ください。
私はそれがWindows環境でトリッキーだとわかりました。
テキスト形式のダンプの場合、pg_restoreは機能しません。その場合、psqlを使用する必要があります。
psql -U username -f database.dump databasename
ユーザー名のパスワードを求めるプロンプトが表示され、復元プロセスが開始されます。
pg_restoreは一目瞭然ではありません。これは、新しいデータベースを作成し、AWSで実行されているリモートPostgresインスタンス上のダンプファイルをそれに復元するために使用したコマンドです。接続が正しい場合、pg_restoreはすぐにパスワードの入力を要求します)
pg_restore -h mypostgresdb.eu-west-1.rds.amazonaws.com -U adminuser --verbose -C -d existingdatabase mydbdump.dm
スイッチは次のとおりです。
psqlはプレーンテキストダンプ用で、pg_restoreを使用します。