我正在尝试使用 pgadmin 备份和还原实用程序将数据库从一个架构还原到 postgresql 中的另一个架构。 数据库A 的备份成功,但是当我尝试将其还原到另一个数据库B 时,出现如下所示的错误。
有人知道吗,或者以前遇到过这样的问题?
我尝试更改
之类的还原选项示例:
pg_restore:创建表“ public.app_role” pg_restore:[存档 (db)]来自TOC条目227的错误; 1259 197811 TABLE app_role时间表 pg_restore:[存档(db)]无法执行查询:错误:角色 “计划”不存在命令为:ALTER TABLE public.app_role 所有者要安排;
谢谢
答案 0 :(得分:1)
在PostgreSQL中,用户和表空间不是数据库的一部分,因此它们不包含在pg_dump
输出中。
您必须运行pg_dumpall -a
来获取这些对象的转储。首先应用该转储,然后它应该可以工作。
或者,使用-O -x
中的选项pg_restore
来跳过恢复所有权和权限。然后,这些对象将属于运行pg_restore
的用户。