迁移postgres数据库的正确方法



我有一个开发版本和一个生产版本在django中运行。

我最近开始用大量数据填充它,发现django-loaddata试图在将其添加到数据库之前将所有内容加载到内存中,而我的文件太大了。

将我的数据从开发机器推送到生产中的正确方法是什么?

我确实。。。

pg_dump -U user -W db ./filename.sql

然后在生产服务器上我做了。。。

psql dbname < filename.sql

它似乎起了作用,所有的数据都在那里,但它出现了一些错误,比如

relation xxx already exists
constrain xxx for relation xxx already exists

他们中有不少,但正如我所说,一切似乎都在那里。这样做对吗?

编辑:我在生产机器中有包含信息的数据库,我不想在导入之前截断表。

这是我使用的脚本:

 pg_dump -d DATABASE_NAME -U postgres --format plain --inserts > /FILE.sql

编辑:正如您在评论中所说,您不希望在导入之前截断表,您不能将这种类型的导入到生产数据库中。我建议在导入开发数据库转储之前清空生产数据库。

相关内容

  • 没有找到相关文章

最新更新