Herkou pg_restore到一个已经改变的数据库

时间:2015-11-24 18:32:42

标签: postgresql heroku pg-restore

我想知道如果我使用Heroku Postgres并且我想要转储App 1.0的数据该怎么办,那么我想将pg_restore数据转换为新版本的app,App 2.0。问题是App 2.0有新的字段和表,pg_restore documentation写道:

  

...将发出重建数据库所需的命令   它保存时所处的状态。

我不想将数据库重建为App 1.0上的状态,我只想获取数据并将其放在新数据库中,我添加的表和字段不应与转储文件中的数据。

一个选项是pg_restore和“将数据库重建为保存时所处的状态”,然后再次运行迁移。这是最好的方式吗?可能有更好的方法,谢谢你的建议。

1 个答案:

答案 0 :(得分:1)

您可以尝试pg_dump --data-only,它将跳过表创建并仅转储数据行。然后在还原时,您的数据将进入现有表。因此,您需要确保它们已存在于新数据库中。我不确定如果表定义不同会发生什么。

或者,您可以仅为要保留的表格执行pg_dump --table <table>