【问题标题】:Django-dbbackup: how to change backup file extension?Django-dbbackup:如何更改备份文件扩展名?
【发布时间】: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 格式。
我还尝试使用 .psqlpgAdmin 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


    【解决方案1】:

    您可以使用此变量更改文件备份扩展名

    DBBACKUP_FILENAME_TEMPLATE = '{databasename}-{servername}-{datetime}.sql'
    

    您在 settings.py 中定义 DBBACKUP_FILENAME_TEMPLATE 变量

    此设置将扩展备份文件从转储更改为 sql。 您可以使用其他扩展名更改 sql 扩展名文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      • 1970-01-01
      • 2020-07-14
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多