我正在尝试使用 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;
谢谢
1条答案
按热度按时间mhd8tkvw1#
在PostgreSQL中,用户和表空间不是数据库的一部分,因此它们不包含在
pg_dump
输出中。您必须运行
pg_dumpall -g
来获取这些对象的转储。首先应用转储,然后它应该工作。或者,使用
pg_restore
的选项-O -x
跳过恢复所有权和权限。那么这些对象将属于运行pg_restore
的用户。