我正在尝试使用django-dbbackup模块来备份我的数据库。运行dbbackup
后,它会保存一个名为这样的名称的数据库转储:
default-user-2018-03-22-220805.psql
然后我删除了db的一个表中的最后一行。接下来我运行dbrestore
并获得以下内容:
> Finding latest backup Restoring backup for database 'default' and
> server 'None'
> Restoring: default-user-2018-03-22-220805.psql
> Restore tempfile created: 407.0 KiB
> Are you sure you want to continue?
> [Y/n] y
> Following files were affected
但在那之后 - 没有任何反应。删除的行不会在我的数据库中恢复
我已经阅读了一些(遗憾的是已丢失该页面)要恢复我的数据库,转储文件必须是.tar
格式。
此外,我尝试将.psql
与pgAdmin 4
一起使用 - 通过UI工具恢复数据库。但是输入文件不是有效存档时出错
最后,我尝试在运行pd_restore
的Windows cmd中使用该文件并获得:
pg_restore: [archiver] input file does not appear to be a valid archive
所以问题是:如何使用django-dbbackup
dbrestore
生成的文件或如何更改其输出的扩展格式 文件,如果无法从.psql
文件恢复?
P.S。我还在源代码中找到了一行extension = 'psql'
,尝试更改它,并且它有效 - 我在输出中得到了一个.tar
文件,但接下来dbrestore
说:
Finding latest backup
CommandError: There's no backup file available.
答案 0 :(得分:1)
您可以使用此变量更改文件备份扩展名
=
您在settings.py中定义DBBACKUP_FILENAME_TEMPLATE变量
此设置将扩展名备份文件从转储更改为sql。 您可以使用其他扩展名更改sql扩展文件。