Kee*_*nce 6 database django postgresql database-backups dumpdata
我不确定这个问题是应该发布在数据库管理员部分还是这里,所以请告知我是否错了.
我有一个基于Django的网站,它没有太大变化.如果我需要重新部署或数据库损坏,我使用python manage.py dumpdata --all --indent=2 > backup.json并重新加载数据loaddata.(我知道什么时候不排除出现完整性错误auth和content_types)
由于我在后端使用PostgreSQL,我使用它是"最佳实践"还是"更明智" pg_dump,然后pg_restore如果出现问题或需要重新部署?
因此,dumpdata转储与所选应用程序(和/或模型)关联的所有数据,并pg_dump执行数据库的完全转储.这是同一件事还是我错过了一个根本的区别(请注意,我对DBA有0次经验)?
我选择哪个选项以及为什么?
使用它pg_dump代替 dumpdata既是最佳实践,也是更明智的做法。pg_dump速度更快,输出更紧凑(尤其是使用 -Fc 选项时)并且可以pg_restore比 loaddata更快地加载。最后但并非最不重要的是,您所说的完整性错误不会发生在 pg_dump/pg_restore 中。
通常 pg_dump 用于转储整个数据库,但是 -t 选项允许您一次转储一个或几个表