繁体   English   中英

PostgreSQL:从转储数据库恢复 - 语法错误

[英]PostgreSQL: database restore from dump - syntax error

我正在尝试通过在空数据库上执行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查询实用程序运行dumpfile的sql。

在Windows上从转储导入数据库的推荐方法是什么? 或者:如何解决该语法问题?

任何帮助深表感谢!

马丁

psql上的-f filename参数将在文件中读取,因此您不必将其输入.psql应该包含在Windows中的PostgreSQL的bin目录中。 像这样:

psql -d dbname -U username -f dumpfile.sql

您可能必须包含psql可执行文件的完整路径(如果它不在您的路径上),并且可能将“.exe”添加到psql,因此它是“psql.exe”。

另外请确保您的版本号不会下降,我之前遇到过语法问题(例如,不要导出8.4数据库并尝试将其加载到8.1数据库中)。 如果是这样,您可能必须手动编辑转储文件。

尝试使用psql -d dbname -U user -f dumpfile.sql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM