使用pg_dump和psql时架构不存在错误

时间:2019-02-28 12:10:30

标签: migration schema psql

我正在尝试将文件从一个远程数据库Scratxh迁移到另一个远程数据库。我正在使用pg_dump和psql下载.sql文件,然后使用psql在新数据库-SourceData中重新创建表。我只想复制表格。我用-t表示这一点,但仍然出现这些错误:

错误模式public不存在  错误权限被拒绝设置会话授权。

这些是我使用的命令。

pg_dump -t table -d从头开始-U me -h host.com> table.sql

psql -d SourceData -U me -h host.com

我知道psql命令使用.sql文本文件来重新创建表,因此我尝试编辑该文件以摆脱对模式“ public”的任何提及。

它没有帮助。我遇到了同样的错误。

还有其他人遇到过吗?

1 个答案:

答案 0 :(得分:0)

错误发生时,您的评论尚不清楚。我将假定它发生在第二个命令上。在这种情况下,显示的第一个错误可能是因为第二个数据库尚未准备好接收数据,即:SQL包含对SourceData中尚不存在的表的INSERT语句。

您需要先在新数据库中创建表,然后才能将数据导入到其中。

如果pg_dump整个数据库,则可能不会遇到这个确切的问题。