Heroku Postgres数据库到ElephantSQL

jecbmhm3  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(133)

我在Heroku上有一个Postgres数据库,我想将该数据库托管在ElephantSQL上,但我一辈子都找不到方法。我从Heroku Postgres数据库下载了一个DUMP文件,但我找不到如何将数据放入ElephantSQL中。
我的数据库链接到了一个Django应用,我已经在ElephantSQL上有了一个链接到同一个Django应用的示例,但是托管在Render上。我可以在ElephantSQL上看到这个示例有所有的表,所以我只需要把数据放在那里。
欢迎您提供任何建议或提示!

kxkpmulp

kxkpmulp1#

您已经看到的表可能是问题所在。也可能是这些表的父表是问题所在。SQL转储只是一系列SQL命令,运行这些命令的目的是将模式和数据写回新数据库。
第一个SQL命令设置数据库、模式和表。如果您的表已经存在,导入可能会失败,因为它想创建已经存在的新表。抱歉,没有更多关于您看到的具体错误的信息,很难更具体。希望这4个选项中的一个能帮助您。让我在评论中知道它的进展。

对于下面的所有选项,我建议备份您的目标服务器数据库,以确保即使没有您的数据,也不会损坏当前正在运行的Django应用。
**选项1:**寻找一种导出源数据库而不导出数据库、架构和表定义的方法。
**选项2:**如果您比较谨慎,可以编辑转储文件以删除这些初始设置命令,并使转储文件以仅将数据推送到表的命令开始。
选项3:(重要的是要先备份目标服务器。)删除目标服务器上的数据库,模式,和/或表,这样就没有预定义的东西了,看看你的转储文件是否可以按照Django需要的方式在目标服务器上重建你的数据。
**选项4:**可能有很多表,但通常可以使用不包括表定义的选项导出单个表数据文件。然后必须将所有表作为单独的导入进行导入。如果找不到不包括定义的选项,则可以将选项3与4混合使用,将表放在目标位置,然后单独导入每个表。

相关问题