PostgreSQL pgadmin4显示角色不存在的pg_restore错误

4

我正在使用pgadmin备份和还原工具,尝试将一个模式下的数据库恢复到另一个模式下的数据库中。备份成功了数据库A,但是当我尝试将其还原到另一个数据库B时,出现以下错误。

有人知道这个问题或者遇到过这样的问题吗?

我尝试更改还原选项,例如:

  1. 不保存所有者为是
  2. 权限为是等等,但仍然没有成功。

示例:

pg_restore:正在创建TABLE“public.app_role”pg_restore:[archiver(db)]来自TOC条目227的错误;1259 197811 TABLE app_role schedule pg_restore:[archiver(db)]无法执行查询:ERROR:角色“schedule”不存在 命令是: ALTER TABLE public.app_role OWNER TO schedule;

谢谢

1个回答

6
在PostgreSQL中,用户和表空间不是数据库的一部分,因此它们不会包含在pg_dump输出中。
您需要运行pg_dumpall -g来获取这些对象的转储。首先应用该转储,然后它应该可以工作。
或者,使用pg_restore的选项-O -x来跳过恢复所有权和权限。然后这些对象将属于运行pg_restore的用户。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接