从pg_dump语法错误

时间:2017-03-15 19:43:38

标签: postgresql pg-dump

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

pg_dump name_of_database > name_of_backup_file

然后我创建新的db:

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;

1 个答案:

答案 0 :(得分:1)

尝试使用

恢复数据库
psql restored_database < name_of_backup_file