我已经安装了django-dbbackup软件包,并且从Documentation得知,我需要运行python manage.py dbbackup

但它生成错误pg_dump: error: too many command-line arguments

从我在日志中看到的

dbbackup.db.exceptions.CommandConnectorError: Error running:  pg_dump database_name --host=127.0.0.1 --port=5432 --username=postgres --no-password --clean


据我所知,正确的pg_dump命令是在最后一部分包括数据库名称,但是dbbackup首先包括数据库名称。

有人知道Django-dbbackup的修复程序吗?

最佳答案

我和你有同样的问题,这是我的环境


视窗10
postgres10
Django 2.2.9
django-dbbackup 3.2.0


我可以像下面一样手动成功运行,添加“ --dbname”参数名称。

pg_dump --dbname=database_name --host=127.0.0.1 --port=5432 --username=postgres --no-password --clean


我不知道如何通过创建新方法来覆盖命令,因此我直接更改了dbbackup包中的源代码,它可以正常工作。

文件“ \ Lib \ site-packages \ dbbackup \ db \ postgresql.py”

从:

    cmd = '{} --dbname={}'.format(self.dump_cmd, self.settings['NAME'])


至:

    cmd = '{} {}'.format(self.dump_cmd, self.settings['NAME'])

关于python - Django:dbbackup显示pg_dump:错误:命令行参数过多,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60106345/

10-12 00:48