【问题标题】:Odoo 8 cannot backup database (postgres)Odoo 8 无法备份数据库(postgres)
【发布时间】:2015-12-21 12:31:50
【问题描述】:

每当我尝试备份我的数据库时,我都会收到以下错误:

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

有人可以帮忙吗?

【问题讨论】:

  • 能否请您说明您是如何尝试备份数据库的?
  • 让你尝试从odoo-8 中的管理员帐户(超级用户)
  • @MarcoAltieri 通过 Odoo /web/databases/manager 然后备份(zip-file)。

标签: database postgresql backup odoo-8


【解决方案1】:

从系统 shell 启动命令,你会看到错误。 f.e.:

pg_dump --no-owner --username=odoo OdooSetup >/dev/null

【讨论】:

    【解决方案2】:

    我刚刚经历过这种情况,就我而言,问题是数据库中有一些序列的所有者不是预期的(它应该与数据库所有者相同)。

    我的意思是,我的数据库归 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,请使用 odoo 用户(或超级用户)连接到 psql,然后这样做:

    \c my_database
    REASSIGN OWNED BY odoo TO odoo;
    

    我希望这对某人有所帮助。

    【讨论】:

      【解决方案3】:

      给我一​​些关于这个错误的更多细节,我想它最后显示像在数据库中找不到用户odoo 一样。

      首先,检查数据库中是否存在用户odoo,如果您的系统用户名为odoo 其他明智的做法是在 postgres 中使用与系统用户相同的名称创建一个超级用户并尝试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-27
        • 2021-08-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多