空のデータベースでpg_dumpが作成したSQLを実行して、PostgreSQLデータベースを復元しようとしています。
私はこのエラーを受け取ります:
ERROR: syntax error at or near "\"
LINE 5211: \.
5210および5211行目は次のとおりです。
COPY auth_group (id, name) FROM stdin;
\.
Linuxサーバーでは問題なく動作しますが、このコマンドを使用します。
psql -U dbname <dumpfile.sql
しかし、Windowsでは、同じようにする方法がわからないので、pgAdminIIIクエリユーティリティからダンプファイルのSQLを実行しようとしています。
Windowsでダンプからデータベースをインポートするための推奨される方法は何ですか?または:構文の問題をどのように解決できますか?
どんな助けでも大歓迎です!
マーティン
-f filename
psql の引数はファイルを読み取るため、パイプで転送する必要はありません。psqlは、WindowsのPostgreSQLのbinディレクトリに含まれている必要があります。そのようです:
psql -d dbname -U username -f dumpfile.sql
パス上にない場合は、psql実行可能ファイルへのフルパスを含める必要があります。また、psqlに「.exe」を追加して、「psql.exe」にすることもできます。
また、バージョン番号が下がっていないことを確認してください。以前に構文の問題に遭遇したことがあります(たとえば、8.4データベースをエクスポートして8.1データベースにロードしないでください)。その場合は、ダンプファイルを手動で編集する必要があります。
psql -d dbname -U user -f dumpfile.sqlで試してください