我有一个dev版本和一个在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
并且有很多,但就像我说的一切似乎都在那里。这是正确的方法吗?
编辑:我在生产机器上有信息的数据库,我不想在导入之前截断表格。
答案 0 :(得分:1)
这是我使用的脚本:
pg_dump -d DATABASE_NAME -U postgres --format plain --inserts > /FILE.sql
编辑:正如您在评论中所说,您不希望在导入之前截断表格,您无法在生产数据库中执行此类导入。我建议在导入dev数据库转储之前清空生产数据库。