我有一个使用Postgres数据库的Django应用程序.我需要能够备份和恢复数据库,以确保没有数据丢失,并且能够在测试期间将数据从生产服务器复制到开发服务器.
似乎有几种不同的方法可以做到这一点:
直接与数据库交互即可.所以,对于博士后,我可能会用
pg_dumpall
和psql
写一个脚本.使用Django附带的
sqlclear
/sqlall
命令.使用Django附带的
dumpdata
/loaddata
命令.因此,从要备份的数据库创建新的装置,然后将它们加载到要恢复的数据库中.使用像django-dbbackup这样的Django插件.
我真的不明白这些不同技术的优缺点.
我突然想到:选项1是特定于数据库的,选项3似乎更适合设置初始数据.但是我仍然不确定选项4比选项2有什么优势.