我有一个我正在处理的表,它包含大约1100万行...我需要在此表上运行迁移但是由于Django试图将它全部存储在缓存中我用完ram或磁盘空间这是第一次突然停止。
我很想知道是否有人遇到过这个问题,并且已经提出了基本上" paginate"的解决方案。迁移可能一次变成10-20k行的块?
为了给出一些背景知识,我正在使用Django 1.10和Postgres 9.4,如果可能的话,我想保持这种自动化(我仍然认为它可以是)
由于 萨姆
答案 0 :(得分:3)
问题来自Postgresql,它在添加新列(字段)时重写每一行。
您需要做的是以下列方式编写自己的数据迁移:
null=True
添加新列。在这种情况下,数据不会
重写和迁移将很快完成。 这基本上是一个关于如何处理在巨大的postgres数据库中添加新行的简单模式。