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

时间:2019-07-10 02:40:19

标签: database postgresql database-backups

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

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

我尝试更改

之类的还原选项
  1. 不要将所有者另存为是
  2. 特权是等,但是仍然没有运气。

示例:

  

pg_restore:创建表“ public.app_role” pg_restore:[存档   (db)]来自TOC条目227的错误; 1259 197811 TABLE app_role时间表   pg_restore:[存档(db)]无法执行查询:错误:角色   “计划”不存在命令为:ALTER TABLE public.app_role   所有者要安排;

谢谢

1 个答案:

答案 0 :(得分:1)

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

您必须运行pg_dumpall -a来获取这些对象的转储。首先应用该转储,然后它应该可以工作。

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