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

Sun*_*iac 4 database postgresql database-backups

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

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

我尝试更改恢复选项,例如

  1. 不要将所有者保存为“是”
  2. 特权是的等等,但仍然没有运气。

样本:

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

谢谢

Lau*_*lbe 7

在 PostgreSQL 中,用户和表空间不是数据库的一部分,因此它们不包含在pg_dump输出中。

您必须运行pg_dumpall -g才能转储这些对象。首先应用该转储,然后它应该可以工作。

或者,使用选项-O -x跳过pg_restore恢复所有权和权限。那么这些对象将属于运行的用户pg_restore