【发布时间】:2018-03-22 20:24:37
【问题描述】:
我正在尝试使用django-dbbackup 模块来备份我的数据库。运行dbbackup 后,它会保存一个名称如下的数据库转储:
default-user-2018-03-22-220805.psql
然后我删除我的数据库的一个表中的最后一行。接下来我运行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文件中恢复文件?
附:我还在源代码中找到了一行extension = 'psql',试图改变它,它起作用了——我在输出中得到了一个.tar 文件,但接下来dbrestore 说:
Finding latest backup
CommandError: There's no backup file available.
【问题讨论】:
标签: python django database postgresql