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

fhg3lkii  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(450)

我正在尝试使用 pgadmin 备份和恢复实用程序将数据库从一个模式恢复到 postgresql 中的另一个模式。数据库A备份成功,但当我尝试将其还原到另一个数据库B时,出现如下错误。
有没有人知道这件事,或者以前遇到过这样的问题?
我尝试更改还原选项,如
1.不将所有者保存为是
1.是的,有特权等等,但仍然没有运气。

示例:

pg_restore:创建TABLE“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;
谢谢

mhd8tkvw

mhd8tkvw1#

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

相关问题