我正在尝试使用 pgadmin 备份和恢复实用程序将数据库从一个模式恢复到 PostgreSQL 中的另一个模式。数据库 A 的备份成功,但是当我尝试将其还原到另一个数据库 BI 时,出现以下错误:
样本:
pg_restore: creating TABLE "public.app_role"
pg_restore: [archiver (db)] Error from TOC entry 227; 1259 197811 TABLE app_role schedule
pg_restore: [archiver (db)] could not execute query: ERROR: role "schedule" does not exist
Command was: ALTER TABLE public.app_role OWNER TO schedule;
我尝试更改恢复选项,例如不将所有者保存为是、特权是等,但仍然没有成功。
有没有人知道这个或以前遇到过这样的问题?
您需要备份中引用的角色。要获得这些,请执行以下操作:
然后你可以
pg_restore -f globals.dump <database>
这将转储源数据库集群上的所有角色。如果您出于某种原因无法这样做,您还可以编辑备份文件以引用
schedule
您在目标系统上设置的另一个角色