繁体   English   中英

从pg_dump语法错误中还原数据库

[英]Restore database from pg_dump syntax errors

我正在尝试从服务器获取的pg_dump恢复数据库。 我知道有很多类似的问题,我尝试了建议的问题,但仍然无法解决我的问题。 我通过以下命令创建了pg_dump:

pg_dump name_of_database > name_of_backup_file

然后创建新的数据库:

createdb -T template0 restored_database

然后,我使用以下命令还原:

psql -1 -f name_of_backup_file.sql restored_database

它运行,然后出现不同的语法错误,例如:

psql:nurate_pg_dump.sql:505: invalid command \nWatch
Query buffer reset (cleared).
psql:nurate_pg_dump.sql:512: invalid command \nThe
psql:nurate_pg_dump.sql:513: invalid command \N
psql:nurate_pg_dump.sql:4098: ERROR:  syntax error at or near "9"
LINE 1: 9 the course is not difficult, but Zauresh Atakhanova is not...

我相信,由于我是从同一台服务器上制作pg_dump的,并尝试将其还原,因此服务器设置或postgres版本中没有任何变化,因此我认为我的数据库应该正确还原。 如何解决这些语法错误?

编辑:好的,问题不在于语法:

创建扩展
错误:必须是扩展程序plpgsql的所有者

在此行抛出此错误:

CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;

尝试使用还原您的数据库

psql restored_database < name_of_backup_file

暂无
暂无

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

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