每当我尝试备份数据库时,都会出现以下错误:
Postgres subprocess('/ usr / bin / pg_dump',' - no-owner', '--username = odoo',' - file = / tmp / tmp3AYPgp / dump.sql',u'OdooSetup') 错误1
有人可以帮忙吗。
答案 0 :(得分:1)
从系统shell启动命令,您将看到错误。 f.e:
pg_dump --no-owner --username = odoo OdooSetup> / dev / null
答案 1 :(得分:1)
我刚刚经历过这种情况,在我的情况下,问题是数据库中有一些序列,其所有者不是预期的序列(它应该与数据库所有者相同)。
我的意思是,我的数据库由PostgreSQL用户odoo
拥有。但是在这个数据库中,有一些序列的所有者是odoo_8
(我是另一个PostgreSQL用户)。我不知道发生这种情况的原因,但您可以在接下来的步骤中解决这个问题:
通过psql
:
\c your_database
显示数据库的每个表和序列的所有者:
\d
检查是否有一些人的主人不对。如果是这样,请更改它们:
ALTER SEQUENCE sequence_name OWNER TO right_user;
ALTER TABLE table_name OWNER TO right_user;
此命令也应该有效并且更快:
REASSIGN OWNED BY right_user TO right_user;
应修改right_user
所有所有数据库所有者的所有者,以及您所连接的数据库的所有表格和所有序列强>
总之,如果提供错误的数据库名为 my_database 且其PostgreSQL所有者为odoo
,请使用psql
用户连接到odoo
(或超级用户)并执行此操作:
\c my_database
REASSIGN OWNED BY odoo TO odoo;
我希望这对某人有帮助。
答案 2 :(得分:0)
给我一些关于这个错误的更多细节,我想最后它会像数据库中的No User odoo一样显示出来。
首先,如果您的系统用户名是odoo,请检查数据库中是否存在用户odoo 其他方面使用与System用户相同的名称在postgres中创建一个超级用户并尝试。