Odoo 8无法备份数据库(postgres)

时间:2015-12-21 12:31:51

标签: database postgresql backup odoo-8

每当我尝试备份数据库时,都会出现以下错误:

  

Postgres subprocess('/ usr / bin / pg_dump',' - no-owner',   '--username = odoo',' - file = / tmp / tmp3AYPgp / dump.sql',u'OdooSetup')   错误1

有人可以帮忙吗。

3 个答案:

答案 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中创建一个超级用户并尝试。