我正在尝试将文件从一个远程数据库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”的任何提及。
它没有帮助。我遇到了同样的错误。
还有其他人遇到过吗?
答案 0 :(得分:0)
错误发生时,您的评论尚不清楚。我将假定它发生在第二个命令上。在这种情况下,显示的第一个错误可能是因为第二个数据库尚未准备好接收数据,即:SQL包含对SourceData中尚不存在的表的INSERT
语句。
您需要先在新数据库中创建表,然后才能将数据导入到其中。
如果pg_dump整个数据库,则可能不会遇到这个确切的问题。