我正在使用django-dbbackup来创建postgres db的备份。当我运行python manage.py dbbackup时,它会创建一个default.backup文件。
但是,当我运行python manage.py dbrestore时,我会得到以下错误。
Restoring backup for database: hera
Finding latest backup
Restoring: /home/dev/Documents/Program Codes/Python/Django/Hera/default.backup
Restore tempfile created: 670.5 KB
Are you sure you want to continue? [Y/n]y
Running: dropdb --username=****** --host=localhost hera
dropdb: database removal failed: ERROR: must be owner of database hera
CommandError: Error running: [u'dropdb', u'--username=dev', u'--host=localhost', u'hera']发布于 2015-09-10 22:00:54
这是关于确保您使用的用户是数据库的所有者。现在看来,您正在使用dbrestore用户(从CommandError: Error running: [u'dropdb', u'--username=dev', u'--host=localhost', u'hera']行)运行dev命令。
可能有三种选择:
1/使用PSQL命令将数据库所有者更改为dev,如下所示:
ALTER DATABASE hera OWNER TO dev;2/更改dbrestore脚本在运行到数据库所有者时使用的--username=dev ( dev除外),您可以在PSQL中使用\l列出数据库,并查看哪个用户拥有数据库。
3/您可以赋予dev超级用户和创建b的能力,但不确定这在安全性方面是否理想。
https://stackoverflow.com/questions/32507620
复制相似问题